题目:绘制如下图形,其中正十二边形边长50,用红色填充,正三角形用黄色填充,绘制过程中隐藏画笔,本题出自第十一届蓝桥杯
首先,由于绘制图形基本构成规律明显,可以将其拆分成正十二边形和正三角形绘制
1,绘制正十二边形,现实先使画笔后退25个像素点,便于对称绘制,代码如下:
import turtle as t
t.hideturtle()
t.penup()
t.goto(-25,0)
t.pendown()
t.begin_fill()
t.fillcolor("red")
for i in range(12):
t.fd(50)
t.left(2*180/12)
t.end_fill()
t.done()
2,绘制环绕正三角形,由题,需要绘制12个环绕正三角形,每个三角形绘制完后,由于下一个三角形与正十二边形临边的夹角需为60°,因此需要使画笔向右偏转30°,绘制正三角形代码不单独展示,完整代码如下:
import turtle as t
t.hideturtle()
t.penup()
t.goto(-25,0)
t.pendown()
t.begin_fill()
t.fillcolor("red")
for i in range(12):
t.fd(50)
t.left(2*180/12)
t.end_fill()
t.right(60)
for i in range(12):
t.begin_fill()
t.fillcolor("yellow")
t.fd(50)
t.left(120)
t.fd(50)
t.left(120)
t.fd(50)
t.left(180)
t.fd(50)
t.right(30)
t.end_fill()
t.done()