我们的方法包括以下几个主要步骤:(1)在输入模型的内部拟合一个长方体来寻找最佳的网格,使用该网格可以使得模型内部包含的方块数??目最多,从而(2)为我们初始化一个最大化的内核及其对应的初始分解方案。(3)然后为每个网格上的边预计算支撑材料,以支持目标优化函数中支撑材料的快速估计。随后,(4)我们通过对内核进行局部切割操作,并对目标函数中的各个优化项进行快速的估计,来迭代式地搜寻最优的残留外壳与内核的分解。(5)最后,我们将求解得到的残留外壳根据内核上的平面进行简化的金字塔块分解,同时避免在用户标注的显著区域进行分解切割,然后打印残留块,使用通用模块组装内核,并组装制造出最终的模型。
我们方法的关键之处在于,其从一个初始化的最大内核开始,目标函数中的第一个优化项(V已经是最小化的)。因此,当我们迭代式地修改内核的时候,我们只需寻找一个最佳的局部切割操作,以降低;V和炚,同时仅牺牲少量的V。此外,其他关键的思想也被应用到算法中最耗时的迭代步骤中。
迭代步骤中涉及到三个子问题。第一个则是如何修改内核。为了效率考虑,我们定义了一系列局部切割操作,来搜寻不同的修改内核的方式。这些切割操作的执行简单快速,所以我们可以快速地获得一组内核的局部优化修改选择。第二个子问题是如何评估每个局部优化选择。执行完整的金字塔分解算法来精确求解iV和W的计算代价很高,为此,我们提出了快速的算法来近似估计W和W。最后一个子问题则是如何以一种可行的方式来搜寻整个搜索空间。为此,我们使用了集束搜索基于目标函数来对这些内核的局部切割操作进行排序选择,并进行迭代优化求解。
算法的主要步骤包括初始网格的优化搜寻,最大内核的生成,支撑结构的预计算,内核的迭代优化修改,和残留外壳的金字塔分解。