我正在研究空间堆叠问题......目前我正试图在2D中进行解决,但最终还是要在3D中进行这项工作。
我将空间划分为中心区域周围的nxn方块,因此n总是奇数...而我正在尝试找到任何维度小于nxn的矩形的位置数(例如1x1,1x2,2x2等等)可以放置,中间的广场不可用。
到目前为止,我已经有了这个......
total number of rectangles = ((n^2 + n)^2 ) / 4
..也是总平方数=(n(n + 1)(2n + 1))/ 6
然而,我不得不制定一个公式来找出那些位置是不可能的,因为中间方格将被占用。
例如:
[] [] []
[] [x] []
[] [] []
3 x 3板...有8个可能的位置用于存储中间正方形的东西正在使用中。 我可以使用1x1形状,1x2形状,2x1,3x1等......
公式给出了矩形的数量:(9 + 3)^ 2/4 = 144/4 = 36个堆叠位置 然而,由于中间广场无法占领,所以这些都无法实现。
我可以看到这些是不可能的选择:
1x1形状= 1不可能(中方) 2x1形状= 4个不可能(任何使用中间方块的东西) 3x1 = 2不可能 2x2 = 4不可能 等等 总不可能的组合= 16
因此,我所追求的解决方案是在3x3电路板上36-16 = 20个可能的矩形堆叠位置。
我已经用C#对它进行了编码,通过反复试验来解决这个问题,但是我真的想要一个公式,因为我想解决大量的n值,并最终制作这个3D。
有人能指出这些空间/曲面细分问题的公式吗? 关于如何将整个矩形公式变成3D的任何想法都非常受欢迎!
谢谢!
答案 0 :(得分:0)
好的..所以我现在得到一个答案是......总不可能的案例定义如下:
n ^ 4其中n是仅使用奇数网格的网格大小的顺序
2 ^ 4 = 16(网格是3乘3) 3 ^ 4 = 81(网格是5乘5) 4 ^ 4 = 256(网格是7乘7) 等