操作方法
首先介绍下turtle自带的画原函数。 turtle.circle(radius,angle,step) radius为圆的半径 angle为圆的角度
step是所需的边数,因为计算机并不用连续可导的线去绘制的,而是一段段小线段拼接在一起的。这是我们后面自己绘制的主要思路。 step = 1 则是一步完成。 step = 100 则是100个线段完成。
我们来介绍第二种方法。 思路是转角度,前进一个线段。然后就是循环上述过程,知道角度达到自己的要求。 每次转的角度可以通过要求的角度/线段数求出,然而前进的线段长度怎么求呢?
看到上面图的适宜,我们已知半径和每次偏转的角度,那么前进的线段长度是很容易求出来的。 有三角形看得要前进的距离为2*r*sin(angle/2).
现在来实现程序部分,首先要引入math库,方便我们调用sin函数。 distance = 2*radius*math.sin(angle/360/step*math.pi)#计算距离 for i in range(step): turtle.lt(angle/step) turtle.fd(distance)
用自己的函数和官方的函数,出现了小段误差,提高段数可见小误差。或者在低段数是每段距离精度要提高。