【发布时间】:2011-11-06 08:56:28
【问题描述】:
我有一个边列表和一个顶点列表。每条边引用两个顶点,每个顶点维护一个边列表。
我想查找从此图表生成的所有非重叠多边形。
一个例子是
0,0) (4,0) (4,2) (4,4) (2,4) (2,2) (4,2) (6,2) (6,6) (0, 6) (0,0)
这条路径应该描述每条独特的边,在一些顶点上有碰撞。在实际图中,顶点是不同的。我需要的两个多边形是 (0,0) (4,0) (4,2) (2,2) (2,4) (4,4) (4,2) (6,2) (6,6) (0,6) 和 (2,2) (2,4) (4,4) (4,2)
【问题讨论】:
-
我从您的描述中假设边/顶点与空间中的点相关联?
-
是的,这是一个计算几何问题。
-
另外,我认为深度优先搜索可能有效。
-
当您说“非重叠多边形”时,如果您有描述两个重叠多边形的边会发生什么?您将其报告为由它们的交集组成的一个多边形,还是您都不报告它们?
-
形成多边形的路径应该选择最紧密的闭环。这可以防止多边形重叠。
标签: algorithm polygon computational-geometry edge-detection vertex