如何计算网格的厚度

How to calculate the thickness of a mesh

我有一些 helmets 的模型,里面和外面都经过激光扫描以创建完整的模型。我想为每个代表头盔厚度的网格创建一个纹理,有点像 'heatmap' 的厚度。我知道厚度的计算并不简单,但我要计算的是头盔金属的厚度。

任何人都可以推荐一个 software/workflow 可以用来实现这个吗?开源首选,目前使用 Blender、Meshlab 和 Slice 3D,但会使用任何必要的东西。

MeshLab 具有形状直径函数,可以计算网格的 厚度 的良好通用定义。有关其用法的示例,请在 MeshLab 中遵循此示例(每行一个过滤器):

  • 创建一个球体(细分级别 2)
  • 对顶点应用随机位移(位移 2%)
  • 应用循环细分(3 iter)以获得平滑的波浪球体)
  • 创建另一个更小的光滑球体(半径 0.9,细分 5)
  • 反转这个球体
  • 将两层展平成一个网格(此时你有一个由两个同心球组成的网格,一个在里面,完美的圆形,一个在外面波浪状)
  • 应用形状直径函数(256 个样本,60 度圆锥半径)
  • 应用顶点质量着色

结果以 质量 编码,在这里您可以看到它映射到颜色;您可以看到较厚的区域如何正确对应较大的 质量 值。