学习目标:
今天继续对示例进行分析,进一步巩固Turtle库的相关语法。
学习内容
示例1 绘制圆+正方形,绘制要求:
a.绘制一个正方形并且内切一个填充的圆;
b.正方形边长为100并且轮廓线为红色;
c.内切圆轮廓线为红色并且填充为黄色;
d.绘图过程中隐藏画笔,可以清晰看见图形绘制过程。
代码演示:
import turtle as t
t.speed(8)
t.pencolor("red")
t.pensize(2)
t.seth(0)
t.forward(50)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)
t.goto(0,0)
t.seth(0)
t.fillcolor("yellow")
t.begin_fill()
t.circle(50)
t.end_fill()
t.hideturtle()
t.done()
运行结果演示:
示例2 绘制半圆+三角形,上边是一个红色轮廓、黄色填充的边长为300的等边三角形,下边是一个绿色填充,半径为150的半圆,绘制要求:
a.画布背景为白色,等边三角形为红色轮廓,黄色填充;
b.半圆为绿色填充并且与等边三角形在底边的中点处相切;
c.能看见绘制过程并且隐藏画笔。
代码演示:
import turtle as t
t.speed(10)
t.pensize(2)
#画半圆
t.fillcolor("green")
t.begin_fill()
t.seth(0)
t.forward(150)
t.left(90)
t.circle(150, 180)
t.goto(0, 0)
t.end_fill()
t.penup()
t.goto(0, 150)
t.pendown()
t.pencolor("red")
t.pensize(2)
t.fillcolor("yellow")
t.begin_fill()
t.seth(0)
t.forward(150)
t.seth(120)
t.forward(300)
t.left(120)
t.forward(300)
t.goto(0, 150)
t.end_fill()
t.hideturtle()
t.done()
运行结果演示:
示例3 绘制正六边形,绘制要求:
a.背景为白色,正六边形和三角形的填充分别为红色和绿色;
b.图形中间为边长为150的正六边形,周围是六个等边三角形;
c.正六边形的上下两边要求与X轴方向平行;
d.绘图过程中隐藏画笔,并能清楚看见图形绘制过程。
代码演示:
import turtle as t
t.speed(10)
#绘制正六边形
t.fillcolor("red")
t.begin_fill()
t.seth(0)
t.penup()
t.forward(150)
t.pendown()
t.left(120)
t.forward(150)
for i in range(5):
t.left(60)
t.forward(150)
t.end_fill()
t.penup()
t.goto(0,0)
#绘制三角形
for i in range(6):
t.penup()
t.seth(i * 60)
t.forward(150)
t.left(60)
t.pendown()
t.fillcolor("green")
t.begin_fill()
t.forward(150)
t.left(120)
t.forward(150)
t.left(120)
t.forward(150)
t.end_fill()
t.penup()
t.goto(0, 0)
t.hideturtle()
t.done()
运行结果演示: