2

假设我有两个五边形,A并且B有顶点

(x 1 , y 1 ), (x 2 , y 2 ), ... (x 5 , y 5 )A

(x' 1 , y' 1 ), ... (x' 5 ,y' 5 ) 对于B.

我知道顶点的对应关系:

(x 1 , y 1 ) <==> (x' 1 , y' 1 )

同样的所有顶点。

我需要一个程序将里面的所有点转换AB.

我在将四边形转换为矩形中发现了类似的四边形问题?.

就我而言,它们不是四边形,而是五边形。我实际上想要一个适用于任意数量顶点(五边形、六边形等)的解决方案。

4

3 回答 3

4

如果您将三角形映射到三角形,您将使用重心坐标

要将多边形映射到多边形,可以使用广义重心坐标。这些有好几个家族。在本文后续文章中介绍了其中一个族——平均值坐标。可以在此处找到有关过去十年爆炸式增长的整个主题的良好参考书目。另一篇描述所谓谐波和 Wachpress 坐标的早期论文在这里

于 2012-06-10T03:14:54.260 回答
0

我会建议,但我无法证明,对于五边形(但可能不是六边形和更高 n 的多边形),当您为每个顶点着色从该顶点可以看到的五边形内部的一组点时,然后它们交叉点总是非空的,您可以从该交叉点任意选择蜘蛛网的中心(或变形的比萨饼,如果您愿意),然后使用三角形映射。

于 2012-06-10T02:55:53.697 回答
0

我认为您只需将多边形径向细分为三角形(从中心制作披萨片,延伸到顶点),然后找到(u, v)原始多边形中任何点的坐标。

一旦你有了这些信息,在第二个多边形中找到对应的三角形将是微不足道的(你已经知道哪些点构成了它的顶点)并且(u, v)三角形的映射是有据可查的。

于 2012-06-10T02:48:38.457 回答