我正在为 3 轴铣刀编写 CNC 模拟器。第一次尝试时,我将材质表示为 WxHxD 框(W - 宽度,H- 高度,D - 深度),带有 W 和 D 除数参数。因此,例如 W = D = 120,H = 50,W-div = 20,D-div = 20:
在每个步骤中,磨机都在去除材料,并且每个分割点的 H 坐标都被调整以模拟材料去除:
这种方法是可以开始的。但是要模拟铣刀的全精度,除数应该有很高的值,即对于 100 mm x 100 mm x 100 mm 的材料块,精度为 0.01 mm,除数应该是 10 000,这使得模拟几乎不可能。此外,设置除数可以使精度固定且不依赖于铣削参数(半径、高度、曲率等)。
使用当前解决方案的工作应用程序在 PC 机器上运行,但下一次迭代应该能够在使用 OpenGL ES 3.0 作为渲染 API 的移动设备上运行。
牢记这一点,问题就出现了从起始块模拟(最好是实时)材料去除的最佳方法是什么?第二个问题是使用什么数据结构和算法来实现这个目标。