【发布时间】:2011-06-15 07:53:31
【问题描述】:
我有很多多边形,在合并所有这些多边形之后,我得到了一个新的大多边形。联合算法是一个黑盒子,使用第三方库进程,我无法控制,我也不希望从进度中提取任何信息。
有没有有效的方法让我知道,对于那个巨大的联合多边形的每条边,它的哪条属于较小多边形的哪条边?
解决这个问题的蛮力方法是将联合多边形的每个边与每个较小的多边形进行比较,但这将非常低效。还有其他更有效的技术吗?
我的直觉告诉我sweep line algorithm 可能会在这里有所帮助,尽管我完全不知道该怎么做。
编辑:小的 npolygons 可以重叠,因此联合多边形可以包含位于小多边形边缘的点,但这些点可能不是原始多边形的顶点。
截图如下:
【问题讨论】:
-
你如何“联合”你的多边形?我的猜测是,当你进行联合时,你可以在某处存储小多边形边缘之间的关联,以及它们在大边缘中的对应关系。
-
@Fezvez,工会是我无法控制的。查看更新后的问题。
标签: algorithm geometry computational-geometry