2

我正在尝试将 3D Delaunay Tessallation(使用TetGen生成)转换为 Voronoi 图。我知道 TetGen 可以创建 Voronoi 图,但由于不寻常的边界条件,我需要自己执行转换。

我完全被这里的二元性难住了。我有四个中的两个:

  1. 每个 Delaunay 顶点对应一个 Voronoi 单元(单元的中心在顶点处)。
  2. 每个 Delaunay 四面体对应一个 Voronoi 顶点(四面体的中心在顶点处)。

我知道每个 Delaunay 面对应一个 Voronoi 边,并且我有面顶点,但是如何从中获取 Voronoi 边呢?

此外,每个 Delaunay 边对应于一个 Voronoi 面,但同样 - 我如何找到对应于边的面?

4

1 回答 1

2

让我们考虑一下 Delaunay 三角剖分中的一条边。现在假设它不在输入点的凸包上。考虑到该边缘的一个四面体事件。你得到双面的第一点。然后选择入射到边缘的四面体中的两个三角形之一。穿过它,您将进入另一个四面体,它为您提供了脸部的第二个点。如果您继续像这样(沿同一方向)转动边缘,您将回到第一个四面体,您将获得面的描述。如果边缘在凸包上,则需要在描述面的过程中添加光线而不是线段。

请注意,如果您有 3 个以上的共球点,则某些四面体将对应于相同的对偶 Voronoi 顶点。

于 2015-02-01T07:44:32.793 回答