Python怎么画小车?

目录

Python怎么画小车?

效果图

总体设计

详细设计

画汽车代码

里面用到的函数

附录


可以用python内置的turtle库绘制 ,很简单但是功能很强大。import turtle 是python种很流行的绘制图像的函数库,通过x轴y轴进行坐标移动,绘制图形:

PID python 小车 python画小车_顺时针

 

对小海龟来说,有“前进”,“后退”,“旋转”等行为,相对于坐标系也是通过“前进方向”、“后退方向”、“左侧方向”、“右侧方向”来完成,并且它可以变换颜色,改变大小等。

具体怎么实现?

后续揭晓。

效果图

PID python 小车 python画小车_python_02

 

总体设计

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)