我正在使用这个行进立方体算法来绘制 3D 等值面(移植到 C#,输出MeshGeomtry3D
s,但其他方面相同)。生成的曲面看起来很棒,但需要很长时间来计算。
有什么方法可以加快行进方块的速度吗?最明显的一种是简单地降低空间采样率,但这会降低生成的网格的质量。我想避免这种情况。
我正在考虑一个两遍系统,其中第一遍采样空间更粗糙,消除场强远低于我的等值的体积。这是明智的吗?有哪些陷阱?
编辑:代码已被分析,大部分 CPU 时间在行进立方体例程本身和每个网格单元角的场强计算之间分配。字段计算超出了我的控制范围,因此加快立方体例程是我唯一的选择......
我仍然对尝试消除死空间的想法很感兴趣,因为这会大大减少对两个系统的调用次数。