从起点、终点和半径绘制圆弧

Draw an Arc from a start point, end point and a radius

我正在寻找弧上 n 点的点列表;我会知道起点、终点和半径。

用户将通过单击 3 次鼠标来构建圆弧,前两次用于定义起点和终点,第三次用于设置半径的大小。

谢谢。

编辑:我不仅需要渲染它 - 我还需要点列表,所以使用渲染 API 来做这不会削减它。

根据语言的不同,它可能已经具有绘制圆弧的功能,这肯定比自己绘制要容易得多。

如果您想获得圆弧上等距点的列表,请计算角度值并使用此值的 (1/n)th 使用以下文章中导出的等式生成点 -

https://en.wikipedia.org/wiki/Rotation_of_axes#Derivation

'n'的数值越高,获得的积分就越多。您可能还想看看下面的文章-

https://en.wikipedia.org/wiki/Midpoint_circle_algorithm

h为起点和终点之间的一半距离。通过毕达哥拉斯,中点到圆心的距离是w=√r²-h²。您可以通过从中点垂直绘制长度为 w 的线段来找到该中心。

圆弧的起始角度由tan(φ)=δy/δx给出,起点与圆心之间,终点相似。

那么你的n点的坐标是

Xc + r cos(φs + k (φe-φs)/(n-1))
Yc + r sin(φs + k (φe-φs)/(n-1))

对于 k= 0,1,...n-1