【发布时间】:2015-03-13 14:49:44
【问题描述】:
我正在尝试解决我正在工作的 Java 项目中的数学/几何问题。
这是场景:
有两组块,每组块的数量和尺寸都不同。在这个例子中,集合 A 有 5 个块,每个块是 20x20 像素; Set B 有 6 个块,每个块是 25x50 像素:
我正在尝试想出一种方法来从数学或逻辑上确定这些集合如何排列以最大化它们之间的接触。如果您要将这些设置端对端排列,它会如下所示:
在这张图片中,集合 B 中的 4 个块与集合 A 中的块接触。但是,如果将集合 A 向右移动一点,则可以使集合 B 中的 5 个块接触:
问题在于公式/算法/逻辑需要足够灵活以处理不同的组合。在这个例子中,集合 C 只有 3 个块,每个块是 40x40:
有什么想法吗?
【问题讨论】:
-
嗯……图片没有上传……
-
定义“最大化联系”。虽然我确实认为这个问题对 SO 来说太宽泛了。
-
这2类块必须保持联系,还是可以分开?
-
给定集合中的块是否总是相同的大小?
-
块必须在集合中保持相同的顺序,还是需要它们重新排序以实现最大的接触?
标签: java algorithm math geometry