【发布时间】:2018-06-28 01:38:17
【问题描述】:
目标是能够为 WebGL 应用程序对平面多边形(带孔)进行三角剖分。
在阅读DeBerg Computational Geometry 的第 9 章时,他们使用了一种方法,将超级三角形内的所有点都包含在内,然后从列表中逐个拉出一个点并将其添加到三角剖分中,同时边走边“合法化”边。
问题 1:我怀疑这种方法没有考虑约束或孔洞,因为它将输入顶点视为点云,很难改造成受约束的或符合要求的三角剖分。对吗?
问题 2:我理解“Delaunay”只是将外接圆测试应用于三角剖分中的每个三角形的想法,因此,如果将测试应用于任何三角剖分方法都可以成为 Delaunay。对吗?
问题 3:多年来有各种算法处理三角测量,例如 Chew、Ruppert、Schewchuk、Klein、Yung 等
我了解一般概念步骤涉及:
- 基础三角测量(通过任何方法)
- 边缘翻转使其成为 Delaunay
- 添加施泰纳点和/或外心的细化步骤
这些方法旨在使三角测量更快(通常为 O nLogn),但通常以复杂的数据结构和物流为代价。
根据您的经验,可以处理任意多边形的首选符合要求的 Delaunay 三角剖分算法(和步骤)在实践中很容易实现,甚至会牺牲一些性能?
您能否提供一些关于如何实现此类算法的详细信息(或参考)(从开始三角测量步骤)到完成(细化步骤)?
【问题讨论】:
标签: computational-geometry triangulation delaunay