如何将点映射到扭曲网格上

end*_*ith 11 grid geometry mesh coordinates unwarp

假设您有一组带有笛卡尔坐标系坐标的点.

一个未扭曲的网格

您想绘制另一个点,并且您知道它在相同笛卡尔坐标系中的坐标.

但是,您绘制的图形与原始图形失真.想象一下,将原始平面打印在橡胶板上,然后在某些地方拉伸并以不对称的方式将其捏在其他地方(没有重叠或任何复杂的情况).

翘曲的网格(来源)

您知道每组点的拉伸和未拉伸坐标,但不知道基础拉伸函数.你知道一个新点的未拉伸坐标.

如何基于附近点的拉伸位置估计在拉伸坐标中绘制新点的位置?它不需要精确,因为除非您有更多信息,否则无法从一组重映射点确定实际拉伸函数.

其他可能的关键字:扭曲的扭曲网格平面坐标unwarp

Jac*_*cob 5

好吧,这听起来像是图像扭曲.这是你应该做的:

  1. 创建未扭曲网格的Delaunay三角剖分,并使用您对扭曲和未扭曲网格之间的对应关系的知识来创建扭曲网格的三角剖分.现在您知道每个图像中的相应三角形,并且由于没有重叠,您应该能够毫无困难地执行下一步.

  2. 现在,A在扭曲的图像中找到对应的点:

    1. 找到三角形A位于并使用未扭曲网格中的trianble和扭曲网格之间的变换来找出新位置.

这是在明确的详细解释在这里.

另一种(更复杂的)方法是薄板样条(在上面的幻灯片中也有解释).

  • 由于OP事先知道这一点,因此存在一对一的对应关系.由于这种对应关系是已知的,并且在翘曲期间没有重叠(根据OP),因此未扭曲网格上的任何Delaunay三角剖分都可以用于翘曲网格,因此可以找到相应的三角形. (2认同)