【发布时间】:2012-09-03 12:30:23
【问题描述】:
我正在用半边数据结构编写 Python delaunay 三角剖分。
另外,在三角剖分算法中,我尝试只存储半边。我从边列表中检索三角形。
但是,这很多余,对吧?我有比描述三角形所需的更多的边,因为一个三角形由一个边定义,并且可以轻松通过,因为每个边都有指向下一个的指针。
1/ 是否可以实现用于 delaunay 的 Watson 算法仅存储半边列表?会不会很难走过去?
在 Watson 确定腔内边缘的算法步骤中,我想在边缘上行走并找到位于三个以上不同半边末端的边缘顶点。
2/ 在 Bowyer Watson 算法中,“多于两条边在该顶点结束”这个属性是否是正确的丢弃边的适当标准?
为了穿过网格,我会在每个半边上进行迭代。所以,我是一个接一个地工作,而不是一个接一个三角形的工作。我在不使用“下一个”属性的情况下穿过网格,这听起来不太好。
3/ 遍历网格中的三角形的方法是什么,存储为边列表?或者如何更好地存储网格以便于遍历它?
谢谢!
【问题讨论】:
-
你看过 CGAL 吗? cgal.org
标签: algorithm data-structures geometry mesh delaunay