三角网格模型 → CFD 实心体素模型的转换器。

接受任意格式(STL、OBJ、glTF/GLB、COLLADA、3DS、3MF)解析后的 SceneModel 作为输入,将其转换为可用于 CFD 流体动力学仿真的实心体素模型。

体素化算法

采用 列扫描射线投射 (Column-based Ray Casting) 算法:

  1. 对体素网格中的每一列 (x, y),沿 Z 轴正方向发射一条射线
  2. 使用 Möller–Trumbore 算法计算射线与每个三角面的交点
  3. 收集当前列上所有交点的 Z 坐标并排序
  4. 交点对 (z0,z1), (z2,z3), ... 之间的体素标记为 True(固体内部)
  5. 最终体素模型为实心体,CFD 引擎在 True/False 边界上做流体计算

前提条件

  • 输入模型必须是水密的 (watertight / manifold),否则射线可能穿透内部
  • 如果模型有孔洞,内部区域可能被标记为外部(False),请预先修复模型