我正在寻找一种算法来孵化一个总线长度最短的矩形,以便给定区域的物体可以通过阴影线。
例如,给定一个5x3厘米的矩形,并且我使用1厘米宽的平行线进行孵化,我可以穿过舱口的最大物体是1厘米边的正方形。我使用了整体22厘米(即4x3 + 2x5)的阴影线。因此,为了通过1平方厘米的面积,我使用了22厘米的阴影线。
该算法应该找到一种模式,使整个阴影线从当前的22cm最小化,同时不允许超过1平方厘米的区域通过(该对象不需要是方形或甚至矩形的形式,它的总面积是事项)。
编辑:在nlucaroni的带领下,我找到了Honeycomb Conjecture,其中指出平面到等面积区域的任何分区的周长至少为正六边形网格的周长,部分回答我的问题。
答案 0 :(得分:2)
您需要形成tessellation的形状。海克斯康可能是你最好的选择。但是,如果您穿过的形状不完全符合曲面细分模式会怎么样?
查看镶嵌细分并确定您的图案/屏幕/舱口是否必须是常规的,必须适合正在测试的对象,等等。
如果你实际上是从形成区域= 1的无限直线构建它,那么你能做的最好就是一个正方形(继续,根据边的比例找到面积的最大值,或者找到通过取得衍生物的边长比例。
你的问题非常模糊/不完整,s,这就是我为你所做的一切。
答案 1 :(得分:1)
整洁的问题。我怀疑算法最终会变得非常简单 - 必须有一些“最佳”的屏幕角度,这样可以最大限度地减少给定长度线材的开口尺寸。
实际上,这让我想起了一些蛋糕切割问题,你试图找到制作x片蛋糕的最小数量的直切。因此,对于每根导线,解决方案可能是沿着线路,尽量减少可以通过的最大物体的尺寸。这意味着在可能的情况下,每增加一根电线,将最大的“孔”切成两半。
编辑:当我真正尝试我提出的算法时,我得到的结果比天真的版本差。放置电线时,您必须考虑最小尺寸。
答案 2 :(得分:0)
孵化矩形是什么意思?
你能改一下你的问题吗?
此外,在重新表述期间,说明算法应该接收什么作为输入以及它应该作为输出产生什么。