如何将自相交多边形划分为简单多边形?
Posted
技术标签:
【中文标题】如何将自相交多边形划分为简单多边形?【英文标题】:How divide self-intersecting polygon into simple polygons? 【发布时间】:2014-12-05 11:18:20 【问题描述】:我有一个由点列表定义的多边形。该多边形可以与多个交点自相交。我通过蛮力找到了所有点。 (Bentley-Ottmann 扫描方法尚未实现)。例如, http://i.imgur.com/3F3LbfB.png 我有 4 个顶点,边 1-2 与边 4-0(点 A)相交,边 2-3 与边 4-0(点 B)相交。我有简单的多边形 0-1-A-0 和休息,这个休息也分为两个多边形:A-B-2-A 和 B-3-4-B 通用算法如何?
【问题讨论】:
【参考方案1】:一种直接的方法是通过在交点处细分多边形段来计算planar straight-line graph (PSLG)(Bentley--Ottmann 自然地扩展为同时执行此操作),然后枚举其有限面。后者可以通过准备一个组合嵌入然后traversing it as described in this previous answer of mine来完成。
【讨论】:
以上是关于如何将自相交多边形划分为简单多边形?的主要内容,如果未能解决你的问题,请参考以下文章