Python怎么画小车?
目录
Python怎么画小车?
效果图
总体设计
详细设计
画汽车代码
里面用到的函数
附录
可以用python内置的turtle库绘制 ,很简单但是功能很强大。import turtle 是python种很流行的绘制图像的函数库,通过x轴y轴进行坐标移动,绘制图形:
对小海龟来说,有“前进”,“后退”,“旋转”等行为,相对于坐标系也是通过“前进方向”、“后退方向”、“左侧方向”、“右侧方向”来完成,并且它可以变换颜色,改变大小等。
具体怎么实现?
后续揭晓。
效果图
总体设计
Python 画小车大致实现方法如下:
1、使用变量定义长度
2、time的sleep方法
3、汽车设计图形规划
4、代码实现小汽车模型
其中用到的有turtle(海龟)模块、部分绘图命令、circle函数、time(时间库)
详细设计
Pytho画小车利用的是turtle(海龟)模块。这个模块提供了编写向量图的方法,基本上就是画直线,点和曲线。
海龟是怎样工作的,首先让python导入turtle模块。
import turtle
引入turtle模块后,调用turle模块中的Pen函数,它会自动创建一块画布,并且带一个箭头(它就代表海龟)。
t=turtle.Pen()
实现过程还导入了时间库time 用于延迟代码执行时间
import time
Eg:实现代码中完成小车上部分后的 time.sleep(3) #延时执行3秒
同时还定义了角度、距离变量 angle、distance1、 distance2
我们使用刚创建的t的函数给海龟发指令。
t.left(90)
t.right(90)
海龟左右旋转。
t.reset()
清除画布并且把海龟放在开始位置。
t.clear()
清除屏幕,海龟仍然在原位。
t.up()
画笔放下来不在作画
t.down()
画笔抬起来重新开始画画
画汽车代码:
import turtle #导入海龟库
import time #导入时间库
t = turtle.Pen()#定义一个画笔变量
angle = 90 #定义角度变量
distance1 = 20 #定义距离变量
distance2 = 60 #定义距离变量
t.color(1,0,0)#设置小汽车颜色为红色
‘’’
填充颜色t.color(‘red’) t.color (‘black)
等价于 t.color(1,0,0) 和t.color(0,0,0)
color函数有三个参数
第一个参数指定有多少红色
第二个参数指定有多少绿色
第三个参数指定有多少蓝色
都为0的时候此时为黑色
都为1的时候此时为白色
这种红色,绿色,蓝色的混搭叫做RGB
蓝色和红色混合产生紫色
黄色和红色混合产生橙色
‘’’
#开始填充
t.begin_fill()
#在原点向东走100
t.forward(100)
#逆时针旋转90度方向,向前走20
t.left(angle)
t.forward(distance1)
#逆时针旋转90度方向,向前走20
t.left(angle)
t.forward(distance1)
#顺时针旋转90度方向,向前走20
t.right(angle)
t.forward(distance1)
#逆时针旋转90度方向,向前走60
t.left(angle)
t.forward(distance2)
#逆时针旋转90度方向,向前走20
t.left(angle)
t.forward(distance1)
#顺时针旋转90度方向,向前走20
t.right(angle)
t.forward(distance1)
#顺时针旋转90度方向,向前走20
t.left(angle)
t.forward(distance1)
#结束填充
t.end_fill()
#延时执行3秒
time.sleep(3)
#画左轮子
t.color(0,0,0)#设置轮子颜色为黑色
t.penup()#抬笔
t.forward(10)#向前移动10
t.pendown()#落笔
t.begin_fill()#开始填充
t.circle(10)# 画圆
t.end_fill()# 结束填充
t.setheading(0)#设置当前的指定角度为0度
#画右轮子
t.penup()#抬笔
t.forward(angle)#向前移动90
t.right(angle)#顺时针旋转90度方向
t.forward(10)#向前移动10
t.setheading(0)# 设置当前的指定角度为0度
t.pendown()#落笔
t.begin_fill()#开始填充
t.circle(10)# 画圆
t.end_fill()# 结束填充
time.sleep(2)
其中里面用到的函数:
t.color()
改变画笔的颜色
begin_fill和end_fill用来给画布上一个区域填色的
circle绘画一个指定大小的圆
setheading让海龟面向指定的方向
好啦小车到此就画完了。
附录
附录
import turtle #导入海龟库
import time #导入时间库
t = turtle.Pen()
angle = 90
distance1 = 20
distance2 = 60
t.color(1,0,0)
t.begin_fill()
t.forward(100)
t.left(angle)
t.forward(distance1)
t.left(angle)
t.forward(distance1)
t.right(angle)
t.forward(distance1)
t.left(angle)
t.forward(distance2)
t.left(angle)
t.forward(distance1)
t.right(angle)
t.forward(distance1)
t.left(angle)
t.forward(distance1)
t.end_fill()
time.sleep(3)
#画左轮子
t.color(0,0,0)
t.penup()
t.forward(10)
t.pendown()
t.begin_fill()
t.circle(10)
t.end_fill()
t.setheading(0)
#画右轮子
t.penup()
t.forward(angle)
t.right(angle)
t.forward(10)
t.setheading(0
t.pendown()
t.begin_fill()
t.circle(10)
t.end_fill()
time.sleep(2)