圆形图形可视化:如何表示?

以圆圈形式呈现的图形可视化:如何实现

我想要将一个绘制的图形线表示为一个圆。

  1. 中心点为 0
  2. 间隔为 45 度/8 个数值。
  3. 最大值为 1/圆形的最外边缘。
  4. 我想要在每个区间绘制图形
  5. 直角的点很简单

我可以很容易地搞定这个问题,但我更想知道这个数学原理,以便日后可以做更复杂的事情。

我正在寻找计算出 45 度间隔应该在哪里的数学公式。例如:如果一个点为 1 的 .33,则我如何知道它在 45 度或 13 度等等的位置。

为什么要使用 Lua? 我正在使用 lua 进行编码,因此最好使用它

编辑:我做了一张图片,但我没有足够的声望 :(

Bar 1 @ 0 Deg   = Length of 1   = x,y of 01
Bar 2 @ 45 Deg  = Length of .33 = x,y of?,?
Bar 3 @ 90 Deg  = Length of .5  = x,y of .50
Bar 4 @ 105 Deg = Length of .66 = x,y of?,?

如何获得 Bar 2 和 Bar 4 的 x,y 值?

点赞
用户1377097
用户1377097

最简单的方法是使用 极坐标

x = r cos φy = r sin φ

r 为长度,φ 为角度)

不过,在极坐标中,φ = 0 沿着正 x 轴排列,逆时针旋转增大角度。为了解决 0° 的偏移,我们只需将所需角度减去 90°。然后,为了更改旋转方向为顺时针,我们只需将结果取负。所以,

phi = -(angle - 90)
x = length * cos(phi)
y = length * sin(phi)

对于您当前的问题,只有 8 个角度,您可以很容易地手动计算,知道 45° 的 cos 和 sin 均约为 0.707。

2013-05-23 16:24:10