计算圆中的点 - 步长?

The*_*ler 2 algorithm math geometry trigonometry angle

我想计算一个圆圈中的所有点.我已经知道我可以计算出使用点x = r * cos(theta) + x0,y = r * sin(theta) + y0-但是我不知道是否有找到一个适当的步长θ表示基于我像素的画布的分辨率(或LCD对我来说)和圆的半径一个很好的方式.

这是我已经拥有的代码(_arange()类似range()但也采用浮动值step):

def circle(x0, y0, r):
    step = 2 * math.pi / 1000
    for theta in _arange(0, 2 * math.pi, step):
        x = x0 + r * math.cos(theta)
        y = y0 + r * math.sin(theta)
        set(round(x), round(y))
Run Code Online (Sandbox Code Playgroud)

Bri*_*new 6

听起来中点圆算法可能适合您想要的.

中点圆算法是用于确定绘制圆所需的点的算法