以离散的x-y步骤“绘制”弧

时间:2010-12-27 07:04:50

标签: algorithm language-agnostic drawing coordinates

仅使用x-y位置移动绘制圆弧的最佳方法是什么?例如,假设我想在点(4,4)绘制一个半径为4的圆。让我们看到我的“抽屉”从(4,0)开始,每个方向的分辨率为.1步。如何创建一系列动作来完成圆圈?

如果不清楚我可以尝试更好地解释。

2 个答案:

答案 0 :(得分:3)

如果我理解你的问题,你正在寻找Bresenham的算法。例如,您可以阅读here

答案 1 :(得分:2)

你想要中点圆算法,也称为Bresenham的圆算法(即使Bresenham没有开发它)。维基百科有关于它的a reasonably good article; LiteratePrograms wiki上也有a Python implementation(不再是 - 链接到Wayback Machine),而{Rosusta Code上的several implementations也是如此。它背后的想法是走一圈,连续计算前一个坐标(避免更昂贵的数学运算)。你总是向一个方向移动(说“向上”),并使用计算变量来决定是否转向。