我正在尝试将不同大小的矩形长方体彼此相邻放置,以使它们之间的接触面积最大化。
以一种蛮力的方式,我正在寻找一个可能的位置,以便将每个长方体放置在不与任何其他长方体相交的空间中。我使用 Java 3D 的BoundingBox类实现了这一点,在该类中可以检查给定框是否与给定的其他框集合相交。现在我有许多可能的位置,我需要从中选择与其他盒子接触面积最大的位置。
我的问题是我不知道如何有效地计算这个区域。一个小例子...
方框1:左下点x=0,y=0,z=0;右上角 x=10,y=10,z=10
方框2:左下点x=10,y=0,z=0;右上角 x=15,y=5,z=5
框 3 的尺寸与框 1 相同,应放置在最大接触面积的位置
在此示例中,框 3 的一侧与除框 1 的右侧(框 2 所在的位置)之外的任何位置匹配的所有位置都是最佳解决方案。
如果有人有想法甚至解决方案,我会很高兴。如果免费图书馆不太大,我也很高兴。
谢谢!