【发布时间】:2013-04-05 06:34:44
【问题描述】:
八叉树是行进立方体的特例吗?我的意思是八叉树是否使用相同的三角立方体行进立方体。我知道八叉树是四叉树的 3d 形式。我只想知道我的方向是否正确。 树形成后,八叉树形成三角形的步骤(用于创建表面)如何与行进立方体的步骤相同?
【问题讨论】:
标签: c++ opengl octree marching-cubes
八叉树是行进立方体的特例吗?我的意思是八叉树是否使用相同的三角立方体行进立方体。我知道八叉树是四叉树的 3d 形式。我只想知道我的方向是否正确。 树形成后,八叉树形成三角形的步骤(用于创建表面)如何与行进立方体的步骤相同?
【问题讨论】:
标签: c++ opengl octree marching-cubes
Marching cubes 是一种对函数的等值面进行三角剖分的方法,通过细分为大小相等的小立方体并以保持连续性的方式对每个立方体进行三角剖分。
一个八叉树基础等值面方法,而不是切成大小不均匀的立方体。与等效“视觉质量”的行进立方体算法相比,这可以生成较少数量的三角形。然而,额外的成本是在对每个立方体的表面进行三角测量时需要处理许多特殊情况以避免孔洞。您还必须确定每个多维数据集何时“足够小”的指标(与多维数据集的值变化和多维数据集的视觉重要性等相比)。通常为了帮助减少特殊情况的数量,相邻多维数据集的差异最多只能相差一个八叉树级别 - 这意味着不可能仅对度量进行简单的细化。
总而言之:行进立方体是一种快速等值面三角测量方法。八叉树方法更复杂,但可以提供更好的结果。它们不一样,八叉树也不是行进立方体的特例。
【讨论】:
这是一个完全不同的理论。八叉树是一种用于 3d 空间的三次细分方法,用于查找事物在空间中的分布,有效地处理大空间并将其缩小到可以查找的区域。
Marching cubes 是一个生成网格的系统,不使用像八叉树这样的渐进式细分。
但是一个好的行进立方体系统会使用八叉树来找到需要处理的区域,然后扔掉没有网格的东西。 https://www.youtube.com/watch?v=gNZtx3ijjpo
【讨论】: