我正在寻找一种能找到包围多面体的最小盒子的算法。
我的想法如下:找到最大的一侧,并移动实体,使侧面与x轴对齐。找到遇到这一侧的下一个最大的一侧,并将其尽可能靠近z轴对齐,同时将另一侧放在x上。 然后,计算x,y和z的最大差异。使用这些尺寸创建周围的形状,然后将框移回对象的原始位置。
对此有更有效的策略吗? 我的想法是否忽视了一些极端情况?
编辑:现在假设要限制的对象是凸的。虽然,对一般情况的答案也是受欢迎的。
答案 0 :(得分:1)
O' Rourke研究了找到凸多面体的最小(体积)框的问题,他提出了O(n^3)
算法:
学家O型鲁尔克。寻找最小的封闭盒。国际期刊 计算机与计算机信息科学,1985,14(3),第183页。
O' Rourke的算法找到R^3
中一组点的最小封闭框 - 但这显然等于找到形成为凸包的多面体的封闭框。基础点集。
与人们可能期望的相反(以及你所描述的方法,如果我已经正确地理解你),最小的方框不一定是这样的,即多面体的一个面与一个面是共面的的盒子!请注意,对于简单的四面体,显示here的动画。
如果您对简单地找到一个相对较小的封闭盒子的想法感到满意,而不是 最小的封闭盒子,那么可能还有其他(更快)的启发式方法可以应用......