在 turtle 作图中,经常会遇到多边形。在这里对多边形的画法进行一个总结。
方法一 使用循环绘制
在 Python 海龟绘图中,可以使用循环绘制多边形。在这里可以利用公式 重复次数*转过角度=360。例如,在绘制边长为 100 的五边形的时候。使用方法为
for i in range(0,5):
t.fd(100)
t.rt(360/5)例如,在绘制边长为 60 的六边形的时候。使用方法为
for i in range(0,6):
t.fd(60)
t.rt(360/6)此处在记忆中,可用三角形,正方形进行辅助记忆。
三角形重复 3 次,每次转过的角度为 120 度。
正方形重复 4 次,每次转过的角度为 90 度。
3120=490=360。从而记忆 360 度这个关键角度。
在多边形绘制中,为什么转过的角度是 360/n 呢?
假设一个正多边形有 n 条边,正多边形的内角和为 $(n-2)*180$那么每个角的度数则为 $\frac{(n-2)*180}{n}=180+\frac{360}{n}$
每个角的转角是 $180-(180-\frac{360}{n})=\frac{360}{n}$
方法二 使用 turtle circle 方法
使用 turtle 的 circle() 方法,可以进行绘制多边形。circle() 函数有三个参数,依次是
- radius -- 一个数值
- extent -- 一个数值 (或 None)
- steps -- 一个整型数 (或 None)
例如,在绘制六边形的时候。使用方法为
t.circle(100,None,6)
但是此种方法无法在已有知识体系下明确多边形的边长(具体边长的值为 $d=2*{r}*{sin(\frac{180} {n})}$)