前两篇里,小海龟已经学会了走路、转弯、瞬移。
它觉得这些技能太基础了,于是决定挑战点更高深的:画一幅 阴阳双鱼太极图!

画画之前,得先搞清楚画笔的玩法。
就像我们小时候画画,先挑笔:粗的、细的、红的、蓝的。
在 Python 里:
pensize():控制画笔粗细。pencolor():控制画笔颜色。你可以试试:一条细线像铅笔,一条粗线像马克笔。


画笔颜色是边框,填充色是里面的颜料。
就像画漫画:先勾线,再涂色。
fillcolor():设置填充颜色。begin_fill() 和 end_fill():告诉海龟“我要开始涂色了”。
运行后, 我们会发现, 小海龟换了件新衣服

边框对应的就是画笔色, 而身体对应的就是填充色

红色部分就是我们设置的画笔色, 而填充色就是我们设置的天蓝色

只有封闭的图形才能填充,比如正方形、圆形。
流程是:
begin_fill()end_fill()

所以, 如果需要给图形填色, 就要留意
什么时候开始画图形的第一笔?
要在画这一笔之前调用begin_fill()开始填充
而在这个图形封口之后
要调用end_fill()结束填充
否则可能会出现意想不到的效果哦~
例如这个样子!


海龟还能画圆、半圆和点:
circle(r):画一个半径为 r 的圆。circle(r, extent):画一个半径为 r 的弧,比如半圆。dot(size, color):画一个点,像小疙瘩。区别很简单:圆是个圈,点是个实心小球。
首先画个完整的圆


想要画半圆, 就需要简单的计算下
我们简单理解为, 完整的圆是360°
那一半就是的360°, 也就是180°


我们看到海龟每次都是逆时针画圆
那如何让它顺时针画呢?
我们可以把角度给个负数试试?


最后画个点?


八卦图其实就是几个圆和点的组合

分析好了开始敲代码




背景就是白色, 所以偷个懒, 不上填充色了, 嘿嘿!



完成啦~
import turtle as t
t.pensize(5) # 设置画笔宽度为5
t.penup() # 抬笔
t.goto(0, 400) # 移动到(0, 400)位置
t.right(180) # 调整方向
t.pendown() #落笔
t.fillcolor('black') #设置填充色为黑色
t.begin_fill() # 开始填充
t.circle(400, 180) # 逆时针绘制大半圆
t.circle(200, 180) # 逆时针绘制小半圆
t.circle(-200, 180) # 顺时针绘制另一个小半圆
t.end_fill() # 结束填充
t.circle(-400, 180) # 顺时针画个大半圆
t.penup() # 抬笔
t.goto(0, 200) #去黑眼睛位置
t.pendown() # 落笔
t.dot(100, 'black') # 画黑眼睛
t.penup() # 抬笔
t.goto(0, -200) # 去白眼睛位置
t.pendown() # 落笔
t.dot(100, 'white') # 画白眼睛
t.hideturtle() # 隐藏海龟
t.done() # 绘制完成
运行后,你会看到一幅完整的太极图。
今天我们玩了:
小海龟已经不只是会走路了,它现在能画出带哲学意味的图案。 今天我们玩的是图形和颜色,最后拼出了太极图。
下一篇,小海龟要升级技能:学会接收输入、使用变量,真正和你互动起来!