在 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 度。
。从而记忆 360 度这个关键角度。
在正多边形绘制中,为什么转过的角度是 360/n 呢?
假设一个正多边形有 n 条边,正多边形的内角和为
那么每个角的度数则为
每个角的转角是
方法二 使用 turtle circle 方法
使用 turtle 的 circle() 方法,可以进行绘制正多边形。
circle() 函数有三个参数,依次是
- radius -- 一个数值
- extent -- 一个数值 (或 None)
- steps -- 一个整型数 (或 None)
circle() 方法的本质是以其内切正多边形来近似表示圆。第一个参数为圆的半径,第二个参数是圆转过的角度,第三个参数为边的数量。在使用时,只填写第一个和第三个参数即可。具体使用方法如下。
例如,在绘制六边形的时候。使用方法为
t.circle(100,None,6)
但是此种方法无法在已有知识体系下明确正多边形的边长(具体边长的值为 )
总结
两张方法都可以画出正多边形。但方法二无法明确边长,因此推荐使用方法一完成日常绘图。