【发布时间】:2015-06-19 06:14:27
【问题描述】:
我需要实现绕组数算法来确定(不一定是简单的)多边形的内部和外部区域。
我的想法是将多边形分解为简单的区域(这样任何区域都不能分解为 2 个区域),然后对每个区域中的 1 个点使用缠绕数算法,从而确定整个区域的性质. 但是,我无法想出一种算法来计算所述区域,然后我需要在每个区域内获取一个点(从那里,实现缠绕数算法非常简单)。
有没有一种简单有效的算法可以将复杂的多边形分割成这样的区域?
【问题讨论】:
-
如果我理解正确,您正在搜索“tesselation”/“triangulation”。谷歌会有结果。
-
如何表示多边形?
-
@deviantfan 不完全是,我需要知道多边形内部的哪些部分。例如,here 内部区域是彩色的。
-
@Beta 多边形用顶点数组表示
-
顶点是否有任何唯一标识符?也就是说,如果我怀疑数组中的两个元素代表同一个顶点,我可以进行离散检查还是必须比较它们的坐标?
标签: c++ algorithm opengl graphics