简单的图形绘制——turtle库函数的运用
在学习代码前我们先去了解turtle库的使用
turtle库引用
import<库名>
<库名>.<函数名>(<函数参数>)
form<库名>import<函数名>
form<库名>import*
<函数名>(<函数参数>)
import<库名>as<库别名>
<库别名>.<函数名>(<函数参数>)
画笔的控制命令
控制命令 | 说明 |
---|---|
turtle.fillcolor(colorstring) | 绘制图形的填充颜色 |
turtle.color(color1,color2) | 同时设置pencolor=color1, fillcolor=color2 |
turtle.filling() | 返回当前是否在填充状态 |
turtle.begin_fill() | 准备开始填充 |
turtle.end_fill() | 填充完毕 |
turtle.forward(x) | 向当前画笔方向移动x像素长度 |
turtle.backward(y) | 向当前画笔相反方向移动y像素长度 |
turtle.right(degree) | 顺时针移动degree° |
turtle.left(degree) | 逆时针移动degree° |
turtle.circle() | 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆 |
例1五角星的绘制
from turtle import*#库函数的引用
color('black','red')
begin_fill()
for i in range(5):
forward(100)
right(180-(180/5))
end_fill()
done()
运行:
大家可以从上面的代码块中思考举一反三继续绘制出出其他角星。
例2同切圆的绘制
import turtle
turtle.pensize(2)#画笔的宽度
turtle.circle(10)
turtle.circle(40)
turtle.circle(80)
turtle.circle(160)
运行:
到了这里,不免有了一个疑问——为什么不是同心圆?
这里又关乎于画笔的控制命令
在同切圆中,图形的绘制是一气呵成的,一画到底
而画过同心圆的,我们都知道同心圆要起笔落笔。
画笔命令补充
控制命令 | 说明 |
---|---|
turtle.penup() | 抬起画笔 |
turtle.pendown() | 放下画笔 |
turtle.goto(x,y) | 移动到(x,y)坐标上 |
大家可以思考同心圆是怎么画出来的。
心形的绘制
import turtle
import time
# 画心形圆弧
def hart_arc():
for i in range(200):
turtle.right(1)
turtle.forward(2)
def move_pen_position(x, y):
turtle.hideturtle() # 隐藏画笔
turtle.up() # 提笔
turtle.goto(x, y) # 移动画笔到指定起始坐标(窗口中心为0,0)
turtle.down() # 下笔
turtle.showturtle() # 显示画笔
# 初始化
turtle.setup(width=800, height=500) # 窗口大小
turtle.color('red', 'pink') # 画笔颜色
turtle.pensize(3) # 画笔粗细
turtle.speed(1) # 描绘速度
# 初始化画笔起始坐标
move_pen_position(x=0,y=-180) # 移动画笔位置
turtle.left(140) # 向左旋转140度
turtle.begin_fill() # 标记背景填充位置
# 画心形直线( 左下方 )
turtle.forward(224) # 向前移动画笔,长度为224
# 画爱心圆弧
hart_arc() # 左侧圆弧
turtle.left(120) # 调整画笔角度
hart_arc() # 右侧圆弧
# 画心形直线( 右下方 )
turtle.forward(224)
turtle.end_fill() # 标记背景填充结束位置
# 点击窗口关闭程序
window = turtle.Screen()
window.exitonclick()
今天的学习日记就到这里吧,我是yyyloki,一个爱吃肉的python小白,有兴趣一起学习吧。
如果你觉得不错的吧,那就点个👍吧。