【发布时间】:2010-11-23 01:06:23
【问题描述】:
我正在尝试创建由任意曲面的交集定义的单元格的交互式 3d 表示。我很难弄清楚如何从中创建网格(或者有什么比我应该瞄准的网格更好的东西来表示 3d 体积?)。每个表面 s 由平面、球体、圆柱体、圆锥体等的解析表达式给出,如 s = f(x,y,z) = 0,例如这里的那些:
对于每个单元格,我都有一个表面列表和每个表面的 +/- 意义。有了这个,很容易确定 x,y,z 点是否位于单元格内,方法是将该点插入到每个边界表面的方程中,如果结果是所有 + 表面的 + 和 - 所有 - 表面的点位于里面。显然,如果任何表面的结果为零,则该点位于该表面上。
我可以测试数千个网格点,为每个单元格记下位于该单元格内的那些点,然后使用这些点的最外层为该单元格创建一个网格。但是,我有数千个细胞,这根本不够快。与其他单元格相比,许多单元格非常小或纵横比低,因此如果我要这样做,我需要一个非常精细的点网格。
任何人都可以提出一种将这种方式定义的单元格放入静态 3d 模型的有效方法吗?是否有任何类型的库可以使用这种可以为我构建 3d 网格的几何规范?我错过了什么明显的东西吗?
谢谢, 尼克
【问题讨论】:
标签: 3d intersection modeling mesh geometry-surface