gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 02:36:28 26 4
gpt4 key购买 nike

我正在尝试找出如何在给定源和目标的情况下生成为矩形多边形获取一组坐标所需的变换。

我在 Node 中使用它,并且我很舒服地使用图像处理库,我只是无法找出使用我所拥有的信息生成转换背后的数学原理。

diagram

最佳答案

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

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

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

求解方程后。系统您有系数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)

关于javascript - 如何在给定 4 个初始点和 4 个最终点的 JS 中生成数学变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47870475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com