Math 将多边形映射到另一个多边形

Math 将多边形映射到另一个多边形,math,graphics,geometry,computer-vision,linear-algebra,Math,Graphics,Geometry,Computer Vision,Linear Algebra,假设我有两个五边形,A和B带顶点 (x1,y1),(x2,y2)。。。(x5,y5)用于A 及 (x'1,y'1)。。。(x'5,y'5)表示B 我知道顶点的对应关系: (x1,y1)(x'1,y'1) 类似地,所有的顶点都是相同的 我需要一个程序将a中的所有点转换为B 我在中发现了四边形的类似问题 在我的例子中,它们不是四边形,而是五边形。实际上,我想要一个适用于任意数量顶点(五角大楼、六边形等)的解决方案。我认为您只需将多边形径向细分为三角形(从中心制作比萨饼切片,延伸到顶点),然后找到原始

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

(x1,y1),(x2,y2)。。。(x5,y5)用于
A

(x'1,y'1)。。。(x'5,y'5)表示
B

我知道顶点的对应关系:

(x1,y1)(x'1,y'1)

类似地,所有的顶点都是相同的

我需要一个程序将
a
中的所有点转换为
B

我在中发现了四边形的类似问题


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

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


一旦你有了这些信息,在第二个多边形中找到对应的三角形将是很简单的(你已经知道什么点构成了它的顶点)并且
(u,v)
三角形的映射已经有了很好的证明。

我认为你只是将多边形径向细分为三角形(从中心制作比萨饼切片,延伸到顶点),然后找到原始多边形中任意点的
(u,v)
坐标


一旦你有了这些信息,在第二个多边形中找到相应的三角形将是很简单的(你已经知道什么点构成了它的顶点)并且
(u,v)
三角形的映射已经有了很好的证明。

我建议,但我不能证明,对于五边形(但可能不是六边形和更高的n个多边形),当您为每个顶点在五角大楼内部的一组点上色时,从该顶点可以看到这些点,那么它们的交点将始终为非空,您可以选择蜘蛛网的中心(或者变形的比萨饼,如果您愿意)任意从该交点开始,然后使用三角形映射。

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

如果要将三角形映射到将使用的三角形


要将多边形映射到多边形,可以使用广义重心坐标。有几个族。其中一个族-平均值坐标-在和中介绍。可以找到整个主题的良好参考书目,该书目在过去十年中迅速发展。另一篇早期论文描述了所谓的harmonic和Wachpress坐标为。

如果要将三角形映射到您将使用的三角形



要将多边形映射到多边形,可以使用广义重心坐标。有几个族。其中一个族-平均值坐标-在和中介绍。可以找到整个主题的良好参考书目,该书目在过去十年中迅速发展。另一篇早期论文描述了所谓的harmonic和Wachpress坐标是。

多边形是严格凸的,并且所有三个顶点元组都是非共线的吗?我怀疑是否有一种通用算法可以将点从一个多边形映射到另一个具有相同顶点计数的多边形,因为在大量退化情况下,映射不会是双射的。多边形不一定是凸的,但不是非共线的-共线。我在找到了一个解。但是,对于凹的情况,(实际上也是凸的)它不适用于超过4个顶点。理论太多了。但在实践中,他的五边形将是凸的或接近凸的,可以应用蜘蛛网拉伸算法,我懒得在这里阐述。好的,诺南,你在我打字的时候评论过了。在凹的情况下,你实际上需要决定如何一致地进行鳍d各种凹面变形五边形中的蜘蛛网中心。之后,剩下的就简单了。感谢Blender和Boris。在这一点上,我不知道如何使用蜘蛛网,但我要看看它。多边形是严格凸的,并且所有三个顶点元组都是非共线的吗?我怀疑是否有从一个多边形映射点的通用算法对于另一个具有相同顶点计数的多边形,因为在大量退化情况下,映射不会是双射的。多边形不一定是凸的,而是非共线的。我在处找到了一个解决方案。但是,对于凹的情况,(事实上也是凸的)它不适用于超过4个顶点。理论太多了。但在实践中,他的五边形将是凸的或接近凸的,可以应用蜘蛛网拉伸算法,我懒得在这里阐述。好的,诺南,你在我打字的时候评论过了。在凹的情况下,你实际上需要决定如何一致地进行鳍在各种凹面变形的五边形中有一个蜘蛛网中心。之后,剩下的就简单了。谢谢Blender和Boris。在这一点上,我不知道如何使用蜘蛛网,但我要看看它。你的问题是“径向”这个词-你是如何找到中心的?你知道,有凹面的情况。他的五边形不是比萨饼,阅读上面的评论。我不认为凹面/凸面的情况有什么区别。三角形在每种情况下都会映射相同的图(但是,如果你的三角形退化,事情就会崩溃).至于中心,只要找到质心:如果质心在五角大楼外怎么办?然后你就可以把一个外部的点映射到一个内部的点,比如说另一个凸五角大楼。我不认为这是noname想要的。如果多边形是凸的,它怎么能从外部映射到内部(反之亦然)?“多边形不一定是凸的,但不是共线的”-citin