我在输入上有两个凹多边形,表示为两个点向量。我想对它做一些多边形操作——联合、交叉和差异。我找到了这些多边形之间的交点,并将它们插入到每个多边形的正确位置。然后我给出关于它的位置的信息(内部 - 它在另一个多边形内,外部 - 它在另一个多边形之外,交点 - 多边形的两条边相交的点)到每个顶点。现在我知道哪些点创建了这些多边形(外部和交叉点)等的联合,但我需要知道如何将它们按正确的顺序排序。在相交操作的情况下,我需要将这些排序点分成正确数量的集合,因为相交的结果可能不止一个多边形。
我正在使用 C++,但我不一定需要代码,我只需要如何对这些最终的多边形点进行排序。而且我不想为这些操作使用任何库,因为我已经有了自己的函数并想使用它们。
我看着这个问题如何相交两个多边形?还有一些其他的,但没有一个是解决点的最终排序。我还阅读了这篇文章http://www.gvu.gatech.edu/~jarek/graphics/papers/04PolygonBooleansMargalit.pdf,但我可能不明白。
任何帮助,将不胜感激。