在可以包含给定项目的盒子列表中找到最小的盒子

问题描述

问题如下:给定一个3d物品和一个3d盒子的列表,都是长方形的长方体,找到可以容纳给定物品的体积最小的盒子。只允许旋转 90 度的倍数。

一种解决方案是使用 3d 范围树。假设一个 3d 对象定义为 3 个维度 (x,y,z),其中维度排序:x <= y <= z。那么如果 (x1,y1,z1)一个盒子 (x2,y2,z2) 可以包含一个项目 x1 >= x2,y1 >= y2,and z1 >= z2。因此,我们可以使用 3d 范围树来查找范围 {[x2,infinity],[y2,[z2,infinity]} 中的所有框,并返回体积最小的框。有没有更好或更有效的解决方案?

注意 1:相关但不相同的线程是 123

注意 2:看起来这个问题可以归类在受约束的最近邻搜索下,参见 this paper

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)