【问题标题】:Graph Visualization Represented in a Circle: How To以圆圈表示的图形可视化:如何
【发布时间】:2013-05-23 13:02:23
【问题描述】:

以圆形表示的图形可视化:如何

我正在尝试表示围绕圆圈绘制的图形线。

  1. 中心在0处
  2. 间隔 45 度 / 8 个值。
  3. 最大值 = 1 / 圆的外边界。
  4. 我想在每个区间绘制图表
  5. 直角点是笔直的

我可以很容易地破解这个,但我宁愿知道数学,以防我想做更复杂的事情。

我正在寻找数学来确定 45 度增量应该在哪里。例如:如果点是 1 的 0.33,那么我怎么知道它将在 45 度或 13 度等位置。

为什么是 Lua? 我正在用 lua 编码,所以这将是最好的

编辑:拍了一张照片,但我没有足够的代表:(

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

如何获得第 2 条和第 4 条的 x,y?

【问题讨论】:

  • 带有示例的图片会有所帮助。我不明白这个问题。

标签: math graph lua 2d


【解决方案1】:

最简单的方法是使用polar coordinates,其中:

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。

【讨论】:

    猜你喜欢
    • 2022-12-06
    • 2020-07-26
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 2015-05-12
    相关资源
    最近更新 更多