【问题标题】:drawing arc points绘制圆弧点
【发布时间】:2012-01-02 06:40:20
【问题描述】:

谁能给我一个在弧上画点的算法?我知道起点、终点和半径。我需要在此信息(起点、终点和半径)形成的弧上显示点。

查看图片了解更多详情

我有起点(x,y),终点(a,b)。我必须在弧上计算同样距离的 5 个点。有可能吗?

【问题讨论】:

  • 我们在这里谈论什么样的弧?假设您正在谈论chords,那么在给定任意起点/终点和半径的情况下,甚至不可能画出和弦。例如,不可能有起点为 (0, 0)、终点为 (100, 100) 和半径为 1 的弦。通常弦图通常以圆心、半径、和开始/结束度数测量。

标签: algorithm math trigonometry


【解决方案1】:

这方面的标准算法是Midpoint circle algorithm(有时称为 Breshenham 圆算法)。

请注意,您的弧规范不完整。通常有两条半径相同的弧连接两个给定点,一条用于连接这些点的直线两侧的中心。此外,正如@In silico 指出的那样,半径不能小于点之间距离的一半。

【讨论】:

    【解决方案2】:

    指定圆弧的方法与SVG中使用的方法类似,其中有一些详细的implementation notes,此处复制太长。对于圆弧,x 和 y 半径相等,因此 x 轴角度并不重要。正如 Ted Hopp 所说,您需要一个标志来指示弧线的绘制方向(在 SVG 中称为 large-arc-flag)。

    获得圆弧起点和终点的圆心和角度后,将角度一分为六,然后使用该角度的 sin/cos 绘制五个中间点。

    【讨论】:

      猜你喜欢
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-23
      • 2012-07-08
      • 1970-01-01
      相关资源
      最近更新 更多