我正在尝试实现半边结构。它看起来像这样:
顶点:
-
边缘
-
位置
边缘:
-
顶点
-
脸
-
上一页边缘
-
下一个边缘
-
双边
脸:
- 边缘
现在我注意到当网格有两个共享一个顶点的断开连接的面时出现问题。例如,在所有边缘孪生体都为空的情况下。在这种情况下,我无法再从顶点找到所有边缘。
问题案例的图像。
在图像中,中间的顶点仅引用了白色面的边缘。黑脸是无法触及的。如何通过半边结构实现这一点?
半边数据结构只允许表示流形曲面,因此不允许这种配置。
。但是,如果添加无界面,曲面将变为流形,您可以描述此配置。这通常是实现 HDS 数据结构的主库中使用的解决方案。
对于此无界面,每条边都有两条半边(不再有空孪生(,您需要一种方法来区分属于无界面和其他半边的半边(有时无界半边具有空面(。
最后说,如果你有几个连接的组件,你将有几个无界的面。