【发布时间】:2020-07-27 22:55:54
【问题描述】:
我想放置 3 个UIButtons,以便曲线与Fibonacci-Graph 匹配,如下所示:
第一个button(左下角)已设置。另外两个用transformerOptimus = transformerOptimus.translatedBy(x: anyValue, y: anyValue)移到那里。
问题是我必须计算什么,所以它在圆圈上。是否有一个通用公式可以在这里应用?
【问题讨论】:
我想放置 3 个UIButtons,以便曲线与Fibonacci-Graph 匹配,如下所示:
第一个button(左下角)已设置。另外两个用transformerOptimus = transformerOptimus.translatedBy(x: anyValue, y: anyValue)移到那里。
问题是我必须计算什么,所以它在圆圈上。是否有一个通用公式可以在这里应用?
【问题讨论】:
为此,您需要定义分隔按钮的角度。这里看起来像 π/10。 现在你已经有了半径,对于第一个圆,它是 8 个单位 * 像素标准单位 然后您可以使用该公式将极坐标转换为笛卡尔坐标。 wiki link
x = radius * cos(alpha)
y = radius * sin(alpha)
请注意,alpha 是 0 到 2π 之间的弧度角,从中心右侧开始,逆时针方向。因此,您示例中的第一个按钮(最低)的角度为 π。第二个角度为 π-π/10 , ...
【讨论】: