Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
4年前关闭。
我正在寻找一个弧上n个点的点列表;我会知道起点,终点和半径。
用户将通过单击3次鼠标来构建弧线,前两次单击将定义起点和终点,第三次将设置半径的大小。
谢谢。
编辑:我不仅仅需要渲染它-我还需要点列表,所以使用渲染API来执行此操作不会削减它。
对于
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
4年前关闭。
我正在寻找一个弧上n个点的点列表;我会知道起点,终点和半径。
用户将通过单击3次鼠标来构建弧线,前两次单击将定义起点和终点,第三次将设置半径的大小。
谢谢。
编辑:我不仅仅需要渲染它-我还需要点列表,所以使用渲染API来执行此操作不会削减它。
最佳答案
设h
为起点和终点之间的一半距离。毕达哥拉斯(Pythagoras)表示,从圆心到圆心的距离为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
。10-07 17:10