模块turtle
- 基本语法
- 练习
- 线条图形
- 升级构图
- 圆的应用
- 圆的升级
- 总结
从逻辑入手应该是最常用的手法,但为了轻松点,从画图开始吧,turtle应该是比较适合的入手方式了。
基本语法
语句 | 功能(简化说明) |
penspeed(x) | 定义画笔的移动速度为X(1~10) |
pensize(x) | 定义笔触的太小为X |
pencolor("*") | 定义画笔的颜色为* |
forward(x) | 向前运动x个像素 |
left(x) | 方向逆时针旋转x度角 |
right(x) | 方向顺时针旋转x度角 |
penup() | 抬起笔触 |
pendown() | 放下笔触 |
goto(x, y) | 移动笔触位置到坐标(x, y) |
circle( r ) | 作一个以r为半径的圆 |
练习
从标准画图开始,用线条与方向来锻炼空间感
线条图形
- 正方形
正方形应该是我们最熟悉的标准图形之一了,四边相等,角度都为90度,用来构图感觉真不错。
import turtle
turtle.forward(60)
turtle.left(90)
turtle.forward(60)
turtle.left(90)
turtle.forward(60)
turtle.left(90)
turtle.forward(60)
turtle.left(90)
代码好象有点长了,我们来换个写法。
import turtle
for i in range(4):
turtle.fprward(60)
turtle.left(90)
- 回字纹
把正方形变化一下
import turtle #import导入 库turtle
turtle.forward(20)
turtle.left(90)
turtle.forward(20)
turtle.left(90)
turtle.forward(30)
turtle.left(90)
turtle.forward(30)
turtle.left(90)
turtle.forward(40)
turtle.left(90)
turtle.forward(40)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(60)
turtle.left(90)
turtle.forward(60)
turtle.left(90)
turtle.forward(70)
这个代码好象更长了,简化一下,换个画法
l=10
for i in range(20): #[0,1,2,3 19]
turtle.forward(l)
turtle.right(90)
l+=10 #l=l+10
今天就先到这里,感觉轻松没难度。
回来了,先换个形状玩玩。
p=10
for i in [1,2,4,5,6,8,9,"e",5,3,2]:
turtle.forward(p)
turtle.right(120)
p+=10
画完以后感觉挺不错的
升级构图
把上一个图升下级
import turtle
for x in range(6):
turtle.penup()
turtle.goto(0,0)
turtle.pendown()
turtle.right(60)
p=10
for i in range(15):
turtle.forward(160-p)
turtle.right(120)
p=p+10
成这个效果了
圆的应用
import turtle
turtle.circle(100)
圆的升级
制作多边形
circle可设置三个参数,第一个为半径,第二个为绘制角度,第三个为边数
import turtle
turtle.circle(100,360,6)
得到一个新的正六边形
再绘制一个对称图形
import turtle
turtle.pensize(5)
turtle.pencolor("purple")
for i in range(4):
turtle.forward(100)
turtle.right(90)
turtle.circle(-100,45)
turtle.right(90)
turtle.forward(100)
turtle.left(135)
不多说,看代码与效果
import turtle
p=5
for i in range(30):
turtle.circle(p,90)
p+=5
总结
平面作图基本都是点线面的结合,使用turtle作图,只要静下心来,细心构思,一般的简笔画都能制作出来。今天很开心,博客的文档编辑基本都试了下,页面排版虽然慢了点,但基本顺利,下一篇一定会更好。