上节课我们学会了用坐标精准定位。这节课来学 turtle 里最好玩的命令之一——画圆和弧线!只需一行代码,就能画出圆形、半圆、彩虹、螺旋线……
一、画圆:circle()
circle(r) 让海龟画一个半径为 r 的圆:
import turtle
t = turtle.Turtle()
t.pensize(3)
t.pencolor("royalblue")
t.circle(80) # 画一个半径80的圆
turtle.done()注意:海龟从当前位置出发,逆时针画圆,圆心在海龟左侧。
二、画弧线:circle(r, 角度)
加上第二个参数,可以只画一部分圆弧:
| 命令 | 效果 |
t.circle(80) | 完整的圆(360°) |
t.circle(80, 180) | 半圆(180°) |
t.circle(80, 90) | 四分之一圆弧(90°) |
t.circle(80, 270) | 四分之三圆弧(270°) |
import turtle
t = turtle.Turtle()
t.pensize(3)
t.speed(3)
t.pencolor("red")
t.circle(60, 180) # 红色半圆
t.penup()
t.goto(0, -80)
t.pendown()
t.pencolor("blue")
t.circle(60, 90) # 蓝色四分之一弧
turtle.done()三、实战:画彩色同心圆 🎯
import turtle
t = turtle.Turtle()
t.speed(0)
t.pensize(3)
colors = ["red", "orange", "gold", "green", "royalblue", "purple"]
for i in range(len(colors)):
r = 30 + i * 25 # 半径逐渐增大
t.penup()
t.goto(0, -r) # 每次从圆的最低点出发
t.pendown()
t.pencolor(colors[i])
t.circle(r) # 画完整的圆
turtle.done()关键技巧:每次把海龟移到 (0, -r),这样所有圆都以原点为圆心!🎯
四、实战:画彩虹 🌈
import turtle
t = turtle.Turtle()
t.speed(0)
t.pensize(6)
colors = ["red", "orange", "gold", "green", "royalblue", "blue", "purple"]
for i in range(len(colors)):
r = 50 + i * 20 # 半径从50开始,每次加20
t.penup()
t.goto(-r, 0) # 从圆的最左边出发
t.setheading(0) # 朝向右方
t.pendown()
t.pencolor(colors[i])
t.circle(r, 180) # 画半圆(彩虹弧)
turtle.done()7种颜色,7个半圆,彩虹就出来了!🌈
五、实战:画螺旋线 🌀
import turtle
t = turtle.Turtle()
t.speed(0)
t.pensize(2)
colors = ["red", "orange", "gold", "green", "royalblue", "purple"]
for i in range(60):
t.pencolor(colors[i % len(colors)]) # 循环使用颜色
t.circle(5 + i * 3, 60) # 半径逐渐增大,每次画60°弧
turtle.done()每次画一小段弧,半径越来越大,就形成了螺旋!🌀
六、circle() 参数总结
| 参数 | 说明 | 示例 |
r(必填) | 圆的半径,越大圆越大 | circle(50) |
extent(可选) | 画多少度,默认360(完整圆) | circle(50, 180) |
r 为负数 | 顺时针画圆(默认逆时针) | circle(-50) |
七、小挑战
-
- 🟢 简单:画3个不同大小的圆,颜色各不同
-
- 🟡 中等:画一个太阳——中间实心圆 + 周围8条射线
-
- 🔴 困难:画一朵花——6片花瓣(每片是一个圆),花心是实心圆
-
八、下期预告
学会画圆之后,下节课我们来学颜色填充进阶——渐变色、多色填充,让图案更漂亮!
下期:《turtle第7课:颜色填充进阶》
有问题欢迎留言!