多语言展示
当前在线:1581今日阅读:60今日分享:41

python turtle如何画圆

turtle里面有现成的circle函数。当并不是很灵活,这里我会介绍第二种方法,用微积分的思想,画出任何尺度的圆,半圆,扇形,后面会介绍椭圆的画法。
工具/原料
1

python3

2

pen+paper

3

brain

方法/步骤
1

首先介绍下turtle自带的画原函数。turtle.circle(radius,angle,step)radius为圆的半径angle为圆的角度

2

step是所需的边数,因为计算机并不用连续可导的线去绘制的,而是一段段小线段拼接在一起的。这是我们后面自己绘制的主要思路。step = 1 则是一步完成。step = 100 则是100个线段完成。

3

我们来介绍第二种方法。思路是转角度,前进一个线段。然后就是循环上述过程,知道角度达到自己的要求。每次转的角度可以通过要求的角度/线段数求出,然而前进的线段长度怎么求呢?

4

看到上面图的适宜,我们已知半径和每次偏转的角度,那么前进的线段长度是很容易求出来的。有三角形看得要前进的距离为2*r*sin(angle/2).

5

现在来实现程序部分,首先要引入math库,方便我们调用sin函数。distance = 2*radius*math.sin(angle/360/step*math.pi)#计算距离for i in range(step):  turtle.lt(angle/step)  turtle.fd(distance)

6

用自己的函数和官方的函数,出现了小段误差,提高段数可见小误差。或者在低段数是每段距离精度要提高。

7

其实还有个更简单的方法,我们可以使用圆的参数方程,算出每一个会出现的点,然后用setpos在每两点之间连线,这就解决了上述的误差问题。

注意事项

努力努力再努力!

推荐信息