Delaunay对带有孔的二维多边形进行三角测量

时间:2011-04-13 08:11:00

标签: java algorithm geometry delaunay medial-axis

我想对带有孔的复杂(但不是自相交)多边形进行三角测量,以便生成的三角形全部位于多边形内部,完全覆盖该多边形,并遵守Delaunay三角形规则。

显然,我可以为所有点构建Delaunay三角剖分,但我担心多边形的某些边缘不会包含在结果三角剖分中。

那么,这样的三角测量是否可能?如果是,我该怎么做?

以防万一 - 我需要它来构造多边形中轴的近似值(我希望可以通过连接所得三角形的所有圆周点来完成)。

2 个答案:

答案 0 :(得分:11)

听起来你想要constrained Delaunay triangulation。 “孔”可以通过约束输入边缘在三角测量中保持不间断来实现。

请参阅Trianglepoly2tri项目以了解实施情况。

答案 1 :(得分:3)

这是我在为RTS游戏进行导航时想出的方法之一。请注意,它是自制软件,没有使用第三方工具,我花了大约3周的时间来实现和修复错误:

  1. 将所有点都输入Delaunay三角剖分(以获得最均匀的三角形)
  2. 检查沿Delaunay生成的孔轮廓和翻转多边形对以匹配轮廓
  3. 夹孔内脏
  4. 结果(plz忽略紫色轮廓):

    enter image description here