如何在JS中生成4个初始点和4个最终点的数学变换

问题描述 投票:0回答:1

我试图找出如何生成必要的变换,为给定的源和目标获取矩形多边形的一组坐标。

我在节点使用中这样做,我很习惯使用图像处理库,我只是无法找到使用我所拥有的信息生成变换的数学。

diagram

javascript node.js math transform
1个回答
2
投票

应用透视变换矩阵后,您有源坐标和目标坐标。该矩阵包含8个独立系数。源点和目标点形成8对相应的坐标(x1(src)=>x1'(dst)等)。

Paul Heckbert的This article展示了理论 - 如何构建八个线性方程组来计算透视变换矩阵的系数。

Antigrain library包含此问题解决方案的C ++实现(在文件agg_trans_perspective.h中)。我确信世界上确实存在适当的JS实现。

解决了eq。系统你有系数A..H,可以找到任何需要的点(x,y)=>(x',y')的转换:

x' = (A * x + B * y + C) / (G * x + H * y + 1.0)
y' = (D * x + E * y + F) / (G * x + H * y + 1.0)
© www.soinside.com 2019 - 2024. All rights reserved.