我正在使用 Javascript 构建一个配置工具,它以不同的方式计算电缆中继器的测量值。基本上,您可以输入电缆数量和电缆直径。现在我想将这些电缆可视化为具有给定直径的圆圈,并自动将它们打包在一起以尽可能少地占用空间。这里有两个例子:
7 根电缆打包在一起:
48 根电缆:
如您所见,我已经尝试通过使用物理引擎 ( physics.js ) 来实现这一点,并让重力自动以最佳方式排列元素。这在某种程度上适用于少量元素,但对于大量元素(> 20)需要相当长的时间才能完成,并且并不总是产生最佳结果。除此之外,我认为这种方式有点过头了。
有没有一种简洁的方法来计算x给定直径为d的圆的位置?甚至可能有一个框架或类似的框架来处理这些任务?我很好奇你的想法,在此先感谢。哦,顺便说一句,这不是家庭作业——我 35 岁以上 :-D