如何在给定4个初始点和4个最终点的情况下生成JS的数学变换

我想知道如何生成必要的变换以获取给定源和目标的矩形状多边形的坐标集。如何在给定4个初始点和4个最终点的情况下生成JS的数学变换

我正在做节点使用和我很舒服使用图像操作库,我只是无法找到与我有的信息生成转换背后的数学。

回答:

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

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

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)

以上是 如何在给定4个初始点和4个最终点的情况下生成JS的数学变换 的全部内容, 来源链接: utcz.com/qa/264160.html

回到顶部