我有一个二维离散多边形,由相互连接的三角形组成。在这个多边形中,我们可以区分两种类型的顶点:边界顶点(界定多边形的边界)和内部顶点。我想变形这个多边形及其内容,使其边界与另一个相匹配。在下面的动画中,您可以看到我想要实现的效果的图示:多边形以红色边界开始,我想以一种或另一种方式“变形”它,使其具有绿色边界。
我遇到的问题是,虽然我知道每个边界顶点的开始和结束坐标,但我没有“内部”顶点的此类信息。因此,我想找到一种方法来变形这些顶点,使它们仍然正确地适合新边界:每个内部顶点在变形后必须仍然在形状内。起始边界可以被约束为凸的,但目标边界可以是凸的或凹的。
重要说明:我不是在寻找一种方法来获得具有某些属性的这种变形的中间步骤。我只想获得具有新边界的最终形状和变形的三角内容以适合“内部”形状。
我试图自己寻找这样的方法,但很费力。我发现一些关于如何实现类似目标的研究结果,以及其他用户在其他软件中的结果。然而,我发现的大多数研究结果似乎都集中在确保中间变形步骤具有某些属性,并且据我所知,拥有每个顶点的开始和结束坐标。我现在有点困惑,不知道下一步该往哪里走。任何指针或阅读建议都会很棒,并且已经存在的 Python 实现会很棒!