微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

问题如下:给定一个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 举报,一经查实,本站将立刻删除。