描述常规2D弧的方法有多少?

时间:2010-11-18 22:28:51

标签: c# java c++ api geometry

在开发图形软件包时,我必须处理库中的2D常规弧。因此,我想知道描述弧的各种方法是什么,目前我有以下内容:

  1. 三个点,两个在圆周上,一个在中心
  2. 三个点,全部在圆周上
  3. 还有其他方法吗?因为我想提供一系列API,它们可以正确地表示可以在画布上绘制常规2D弧的各种方式。

3 个答案:

答案 0 :(得分:3)

以下是我们可以给出的值:

  • l - 一些参考线,例如垂直或水平线
  • O - 中心点
  • R - 半径长度
  • a1a2 - 在一些参考线(l)与通过给定点和中心点的线之间给出的终点角度
  • a - 总弧角,在两条线之间给出,每条线穿过一个端点,并且都经过中心点
  • t1t2 - 切线角度,实际上与a1a2正交,因此也需要l,并且可以在使用a1a2的任何地方使用
  • t - 切线之间的角度,是a的补充,t = PI - a
  • M - 中间弧点
  • P - 任意弧点
  • P1P2 - 结束弧点
  • c - chord角度,在和弦和参考线(l)之间给出,可以c = PI - (a1 + a2) / 2获得(我想是这样......已经晚了)
  • C - 和弦长度
  • H - 和弦高度,以弧和弦之间的最大距离给出
  • L - 弧长,基本上是L = a * R

a1, a2, t1, t2, c需要有关l的隐含信息。

上面的列表不完整,所以不是下面的列表,但是你明白了。电弧可以用:

来描述
  • O, P1, P2 - 您的第一个
  • P1, P2, P - 您的第二个
  • O, r, a1, a2, l - slomojo的一个
  • O, P1, a
  • O, M, a
  • O, c, C, l
  • O, P1, c
  • P1, C, H, c, l
  • 以及更多...

答案 1 :(得分:1)

还有很多其他涉及半径,起点和终点的角色。

基本上,您可以选择任意组合,从3个点,半径,起点和终点角度或弧角产生足够的数据。

答案 2 :(得分:1)

许多绘图API都使用这样的方法......

  • 中心点(x,y),半径,起始角度,终止角度