大圆圈中小圆圈的同心布局

时间:2014-05-19 22:27:28

标签: algorithm math

从这个page我发现了这个小圆形圆形布局的简短描述,形成了一个更大的圆形布局。

所描述的结果如下:

enter image description here

描述说明了这一点:

" ...圆形物体由一组以同心环包装的离散斑点表示;斑点具有径向间隔s,并且点在圆上以s的弧长分开。对于此图示,s = 0.08R,总点数为N = 534。"

问题:实现这种圆形布局所需的数学逻辑是什么,假设较小的圆圈可以是点?

谢谢你, 克劳迪亚

3 个答案:

答案 0 :(得分:2)

使用两个嵌套循环;一个跟踪半径,一个跟踪在该半径绘制一个点的角度。在外环内,计算你想要绘制的点数;然后在内循环中绘制它们。

对于外循环,让半径r每次增加一个常数值。

对于内循环,如果您要在n的半径处绘制r点,围绕中心(cx,cy),则应让i循环0最多n-1,并在

处画一点
(cx + r * cos (2 * pi * i / n), cy + r * sin (2 * pi * i / n))

答案 1 :(得分:1)

  • 嗨Claudia,这类问题的解决方案与小blob的大小无关。您可以将它们视为无维度点。此外,您有半径0,s,2s,...,Ns,周长为0,2pi * s,2pi * 2x,...,2pi * Ns。给定距离s你必须从一个blob骑到另一个blob,沿着任意一个圆圈,在第N个圆上有(理论上)0,2pi,2pi * 2,2pi * N blob,但是因为pi = 3.142856 ...,必须在2pi * N附近找到一些合适的整数,这种图像的真实形状取决于精确的算法,如何连续绘制blob,手工或计算机程序。考虑对称性,上面,你有(几乎)六边形对称,但其他也是可能的。问候,M。

答案 2 :(得分:1)

除了中心圆和围绕它的五边形外,图案呈六角形,表示圆被分成6个相等的部分,每个部分为60度。使用trig函数

计算每个小圆的中心
x = r*cos(angle);  
y = r*sin(angle);

诀窍是选择正确的角度。对于最内圈,看起来角度为0和30(重复6次以完成六边形)。下一个环使用角度0,20,40。我没有检查所有环,但模式显然使用等于60 / n的delta角,其中n从最内六角环的2开始。