在javascript中将多个正方形排列为一个大圆圈

时间:2018-01-18 15:29:48

标签: javascript algorithm math geometry

我尝试在画布上排列多个方形图片,以便它们形成一个完全被这些元素覆盖的圆圈,如下图所示:

enter image description here

See original here (slide three)

如何计算给定n个元素和固定半径的x和y坐标以及每个元素的大小?

提前感谢!

P.S。:可能我将pixi.js用于此

1 个答案:

答案 0 :(得分:0)

我的建议:

问题与“高斯圈问题”有关,没有简单的解决方案。

所以我会选择一个太大的半径,以确保至少覆盖settings.xml个方块(例如最小的整数,使得π(r-1)²≥n)。然后在该半径范围内生成所有(x,y)对(x²+y²≤r²),每个都保持x²+y²的值。

接下来,通过增加x²+y²进行排序,并保持n最小。这将填充一个常规圆,外层上有额外的像素,直到计数为n。