我在两个不同的坐标系中都有两个三角形,其中xa1,ya1属于xb1,yb1等。因此,右侧的三角形对应于另一个系统中左侧的三角形。形状和位置完全是任意的,所以我唯一知道的是Point (xa1,ya1)
对应于Point (xb1,yb1)
,(xa2,ya2)
对应于(xb2,yb2)
等。
第一个三角形位于我知道纬度和经度的地理坐标系中。第二个三角形的坐标系为0-100。
如何找到第二个三角形中的点x
?
x
就足够了。This answer包含用于计算仿射变换的公式。
是否适合您的情况?取决于“不同的坐标系”的实际差异。
[也许您也可以尝试barycentric coordinates-在第一个系统中找到这些点的坐标,然后在第二个系统中使用顶点计算笛卡尔坐标。结果应该是相同的,因为重心坐标是仿射不变的。
当您需要变换很多点时,第一种方法更好。对于唯一的问题,您可以尝试第二种方法(不确定是否更快)。