使用双轮廓形成最小数量的网格点以形成立方体? (体素)

时间:2013-08-07 05:06:25

标签: algorithm graphics voxel

我一直在学习有用的dual contouring algorithm,因为它允许曲面包含光滑和锐利的边缘。我对输入数据的使用方式感到有些困惑。我相信如果我理解了如何定义最小的尖锐立方体,我会更好地理解这一点。

花了很长时间阅读各种资源我开始相信下列其中一个想法是正确的,但我无法确定哪一个。为避免混淆,我们可以将曲面称为立方体,任何8个相邻网格都指向一个单元格。将非常热烈地赞赏插图以帮助说明构造。

想法#1 - 最小的尖锐立方体由2x2x2网格定义,其中每个网格点等于形成的立方体的一角。

+---+
|   |
+---+
2x2x2 grid points / 1 grid cell

想法#2 - 最小锐利立方体由3x3x3网格定义,其中每个网格单元包含一个所谓的“特征点”,它需要8个特征点来形成立方体。

+---+---+
| . | . |          +---+
+---+---+   ===>   |   |
| . | . |          +---+
+---+---+
3x3x3 grid points / 8 grid cells

想法#3 - 最小的尖锐立方体由1x1x1网格定义,其中一个密度的网格单元导致形成最小的尖锐立方体。

+
1x1x1 grid points / 0 grid cells

这是另一个可能对未来读者有用的参考: http://upvoid.com/devblog/2013/05/terrain-engine-part-1-dual-contouring/

0 个答案:

没有答案