三角网格模型 → CFD 实心体素模型的转换器。
接受任意格式(STL、OBJ、glTF/GLB、COLLADA、3DS、3MF)解析后的 SceneModel 作为输入,将其转换为可用于 CFD 流体动力学仿真的实心体素模型。
体素化算法
采用 列扫描射线投射 (Column-based Ray Casting) 算法:
- 对体素网格中的每一列
(x, y),沿 Z 轴正方向发射一条射线 - 使用 Möller–Trumbore 算法计算射线与每个三角面的交点
- 收集当前列上所有交点的 Z 坐标并排序
- 交点对 (z0,z1), (z2,z3), ... 之间的体素标记为
True(固体内部) - 最终体素模型为实心体,CFD 引擎在 True/False 边界上做流体计算
前提条件
- 输入模型必须是水密的 (watertight / manifold),否则射线可能穿透内部
- 如果模型有孔洞,内部区域可能被标记为外部(False),请预先修复模型