想学画画,Python能帮我实现吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1555个文字,预计阅读时间需要7分钟。
Python中的绘图工具不少,如Matplotlib等,但它们主要用于绘制表格。今天我们来介绍一款可以用来画画的库——turtle。
一、绘图原理我们通过控制turtle初始位置为(0,0)的乌龟进行移动,从而绘制图形。
二、代码示例pythonimport turtle
设置初始位置为(0,0)turtle.penup()turtle.goto(0, 0)turtle.pendown()
绘制一个正方形for _ in range(4): turtle.forward(100) turtle.right(90)
结束绘图turtle.done()
python中的绘图工具有不少,比如Matplotlib等等,但这些只能用来画表格,今天我们来介绍一款可以用来画画的库——turtle。
一、绘图原理
我们通过控制初始位置为(0,0)的海龟进行移动,根据一组函数指令的控制,在平面坐标系中移动,从而在它爬行的路径上绘制了图形。
二、开始绘图
turtle是python自带的库,我们直接import导入即可
importturtle
设置绘图区域属性
绘图区域背景色的设置
turtle.bgcolor('blue')
选择想要的颜色即可
绘图区域大小设置
turtle.setup(width=200,height=100)
参数:
width, height:
输入宽和高为整数时, 表示像素;
为小数时, 表示占据电脑屏幕的比例。
画笔绘制图形
让我们先简单的画一条直线
turtle.forward(100)
forward()是turtle的内置函数,表示从原点向前进多少距离。我们还可以控制画笔的角度让他转弯。与之对应的是backward(),后退多少距离
turtle.backward(100) turtle.left(60) turtle.forward(100)
这里的left()就表示画笔的转弯方向和角度了,相应的right则为向右转。
如图我们后退了100的距离然后向左偏转60°又前进了100距离。其他常用参数请参考下面的表格
画笔运动函数
函数
描述
画笔参数
命令
说明
全局控制命令
命令
说明
三、for循环语句
如果我们要画一个正方形按照上边的方法代码为
importturtle turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90)
一个简单的四边形就要如此重复,绘制更复杂的图形还这样做的话就显得不科学了,这时候我们就要用到for循环了。使用for循环的语句优化过的代码为
totalTimes=4 fortimes inrange(totalTimes): turtle.forward(100) turtle.left(90)
四、简单示例
绘制五角星
importturtle t=turtle.Pen() #获得画笔 t.hideturtle() #隐藏箭头 t.begin_fill() #填充图形 forx inrange(1, 6): t.forward(100) t.left(216) #在这里先向右直行,然后左转216°(左下,正五角星度数180/5=36°) t.end_fill() #填充完成
绘制樱花树
importturtle asT importrandom importtime # 画樱花的躯干(60,t) defTree(branch, t): time.sleep(0.0005) ifbranch > 3: if8<= branch <= 12: ifrandom.randint(0, 2) == 0: t.color('snow') # 白 else: t.color('lightcoral') # 淡珊瑚色 t.pensize(branch / 3) elifbranch < 8: ifrandom.randint(0, 1) == 0: t.color('snow') else: t.color('lightcoral') # 淡珊瑚色 t.pensize(branch / 2) else: t.color('sienna') # 赭(zhě)色 t.pensize(branch / 10) # 6 t.forward(branch) a = 1.5* random.random() t.right(20* a) b = 1.5* random.random() Tree(branch - 10* b, t) t.left(40* a) Tree(branch - 10* b, t) t.right(20* a) t.up() t.backward(branch) t.down() # 掉落的花瓣 defPetal(m, t): fori inrange(m): a = 200- 400* random.random() b = 10- 20* random.random() t.up() t.forward(b) t.left(90) t.forward(a) t.down() t.color('lightcoral') # 淡珊瑚色 t.circle(1) t.up() t.backward(a) t.right(90) t.backward(b) # 绘图区域 t = T.Turtle() # 画布大小 w = T.Screen() t.hideturtle() # 隐藏画笔 t.getscreen().tracer(5, 0) w.screensize(bg='wheat') # wheat小麦 t.left(90) t.up() t.backward(150) t.down() t.color('sienna') # 画樱花的躯干 Tree(60, t) # 掉落的花瓣 Petal(200, t) w.exitonclick()
更多关于python的文章,欢迎关注python客栈。
以上就是想学画画?python满足你!的详细内容,更多关于python 画画的资料请关注易盾网络其它相关文章!
本文共计1555个文字,预计阅读时间需要7分钟。
Python中的绘图工具不少,如Matplotlib等,但它们主要用于绘制表格。今天我们来介绍一款可以用来画画的库——turtle。
一、绘图原理我们通过控制turtle初始位置为(0,0)的乌龟进行移动,从而绘制图形。
二、代码示例pythonimport turtle
设置初始位置为(0,0)turtle.penup()turtle.goto(0, 0)turtle.pendown()
绘制一个正方形for _ in range(4): turtle.forward(100) turtle.right(90)
结束绘图turtle.done()
python中的绘图工具有不少,比如Matplotlib等等,但这些只能用来画表格,今天我们来介绍一款可以用来画画的库——turtle。
一、绘图原理
我们通过控制初始位置为(0,0)的海龟进行移动,根据一组函数指令的控制,在平面坐标系中移动,从而在它爬行的路径上绘制了图形。
二、开始绘图
turtle是python自带的库,我们直接import导入即可
importturtle
设置绘图区域属性
绘图区域背景色的设置
turtle.bgcolor('blue')
选择想要的颜色即可
绘图区域大小设置
turtle.setup(width=200,height=100)
参数:
width, height:
输入宽和高为整数时, 表示像素;
为小数时, 表示占据电脑屏幕的比例。
画笔绘制图形
让我们先简单的画一条直线
turtle.forward(100)
forward()是turtle的内置函数,表示从原点向前进多少距离。我们还可以控制画笔的角度让他转弯。与之对应的是backward(),后退多少距离
turtle.backward(100) turtle.left(60) turtle.forward(100)
这里的left()就表示画笔的转弯方向和角度了,相应的right则为向右转。
如图我们后退了100的距离然后向左偏转60°又前进了100距离。其他常用参数请参考下面的表格
画笔运动函数
函数
描述
画笔参数
命令
说明
全局控制命令
命令
说明
三、for循环语句
如果我们要画一个正方形按照上边的方法代码为
importturtle turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90) turtle.forward(100) turtle.left(90)
一个简单的四边形就要如此重复,绘制更复杂的图形还这样做的话就显得不科学了,这时候我们就要用到for循环了。使用for循环的语句优化过的代码为
totalTimes=4 fortimes inrange(totalTimes): turtle.forward(100) turtle.left(90)
四、简单示例
绘制五角星
importturtle t=turtle.Pen() #获得画笔 t.hideturtle() #隐藏箭头 t.begin_fill() #填充图形 forx inrange(1, 6): t.forward(100) t.left(216) #在这里先向右直行,然后左转216°(左下,正五角星度数180/5=36°) t.end_fill() #填充完成
绘制樱花树
importturtle asT importrandom importtime # 画樱花的躯干(60,t) defTree(branch, t): time.sleep(0.0005) ifbranch > 3: if8<= branch <= 12: ifrandom.randint(0, 2) == 0: t.color('snow') # 白 else: t.color('lightcoral') # 淡珊瑚色 t.pensize(branch / 3) elifbranch < 8: ifrandom.randint(0, 1) == 0: t.color('snow') else: t.color('lightcoral') # 淡珊瑚色 t.pensize(branch / 2) else: t.color('sienna') # 赭(zhě)色 t.pensize(branch / 10) # 6 t.forward(branch) a = 1.5* random.random() t.right(20* a) b = 1.5* random.random() Tree(branch - 10* b, t) t.left(40* a) Tree(branch - 10* b, t) t.right(20* a) t.up() t.backward(branch) t.down() # 掉落的花瓣 defPetal(m, t): fori inrange(m): a = 200- 400* random.random() b = 10- 20* random.random() t.up() t.forward(b) t.left(90) t.forward(a) t.down() t.color('lightcoral') # 淡珊瑚色 t.circle(1) t.up() t.backward(a) t.right(90) t.backward(b) # 绘图区域 t = T.Turtle() # 画布大小 w = T.Screen() t.hideturtle() # 隐藏画笔 t.getscreen().tracer(5, 0) w.screensize(bg='wheat') # wheat小麦 t.left(90) t.up() t.backward(150) t.down() t.color('sienna') # 画樱花的躯干 Tree(60, t) # 掉落的花瓣 Petal(200, t) w.exitonclick()
更多关于python的文章,欢迎关注python客栈。
以上就是想学画画?python满足你!的详细内容,更多关于python 画画的资料请关注易盾网络其它相关文章!

