有人能为我提供一个在弧上绘制点的算法吗?我知道起点,终点和半径。我需要在这个信息(起点,终点和半径)上显示弧点。
有关详细信息,请参阅图像
我有起点(x,y),终点(a,b)。我必须在弧上同等地计算5个点。有可能吗?
答案 0 :(得分:2)
这个标准算法是Midpoint circle algorithm(有时称为Breshenham的圆算法)。
请注意,您的弧规范不完整。通常有两个相同半径的弧连接两个给定点,一个用于连接点的线的每一侧的中心。另外,正如@In silico指出的那样,半径不能小于点之间距离的一半。
答案 1 :(得分:0)
指定弧的方法类似于SVG中使用的方法,SVG中有一些详细的implementation notes,这些内容太长而无法复制。对于圆弧,x和y半径相等,因此x轴角度不重要。正如Ted Hopp所说,你需要一个标志来指示绘制弧的方向(在SVG中称为large-arc-flag
)。
一旦获得弧的起点和终点的中心和角度,将角度分成六个,并使用该角度的sin / cos绘制五个中间点。