按体素分析 3D 对象

Analyze 3D objects by Voxels

我打算使用 OpenVDB 来分析 3D objects/meshes。 objective 是:

OpenVDB 有一些 tools 可用:

  1. 转换工具
  2. 过滤器
  3. 拓扑运算
  4. 关卡设置工具
  5. 形态学运算
  6. 几何变换
  7. 合成工具
  8. ...

这是一大堆令人困惑的工具可供选择。有OpenVDB经验的人知道吗:

  1. OpenVDB 是实现我的 objective
  2. 的正确库吗
  3. 如果是,哪个 OpenVDB 工具最适合我的需求

OpenVDB社区提供的答案:

An important question is what you mean by "3D objects/meshes."

OpenVDB is very good at performing those regions with surfaces by representing them as signed distance fields. But the word "mesh" raises some alarm bells that you may want to maintain topology. In this case another library may be more effective.

It also sounds like you have a problem domain you are trying to explore. For that, I would not go straight to code but instead explore solutions using 3d applications first. My own biased first choice would be Houdini, whose apprentice version you can get for free. This provides most of the VDB code as separate nodes. So, for example, you can use a File SOP to load a mesh from disk, a VDB From Polygons to convert it to a Signed Distance FIeld, and then VDB Analysis to compute the Gradient. The gradient I think matches what you are looking for as slope, but it is also possible you are looking for curvature...

To return to mesh land, you can use a VDB Convert. Finally a ROP Geometry can save it out.

Attached is a file showing a network to compute an approximate Y-slope as a volume, apply it back to a mesh, and save to disk.

Attached file