python 实现 turtle海龟绘图2

          python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),海龟绘图(turtle库)是python的内部模块,使用前导入即可。本文就带大家深入了解一下海龟绘图。       
         首先,我们来体验一个python实现turtle海龟绘图的程序。

程序运行效果如下:

请录入上述python程序并运行看看效果。

      下面我们来分类讲解画图的各种命令:


一、画布就是turtle为我们展开用于绘图区域

我们可以设置它的大小和初始位置
import turtle                                                #导入海龟绘画模块

turtle.screensize()                                        #返回默认大小(400, 300)

turtle.screensize(800, 600, "green")               # 设置画布方法一,设置宽、高、背景色
二、设置画笔的属性,颜色、画线的宽度等
import turtle
turtle.pensize(1)           # 设置画笔的宽度(0,1,2......)

turtle.pencolor()           # 传入参数设置画笔颜色,'red',  'green', 'yellow'...

turtle.speed(speed)      # 设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快
三、绘图命令:
import turtle
turtle.forward(x)                  # 向当前画笔方向移动distance像素长

turtle.backward(distance)     # 向当前画笔相反方向移动x像素长度

turtle.right(degree)              # 顺时针移动degree°方向

turtle.left(degree)                # 逆时针移动degree°方向

turtle.pendown()                 # 移动时绘制图形,缺省时也为绘制

turtle.goto(x,y)                   # 将画笔移动到坐标为x,y的位置

turtle.penup()                     # 移动时不绘制图形,提起笔,用于另起一个地方绘制时用

turtle.speed(speed)             # 画笔绘制的速度范围[0,10]整数

turtle.circle()                       # 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
四、画笔控制命令
import turtle

turtle.pensize(width)              # 绘制图形时的宽度

turtle.pencolor()                    # 画笔颜色

turtle.fillcolor(colorstring)         # 绘制图形的填充颜色

turtle.color(color1, color2)        # 同时设置pencolor=color1, fillcolor=color2

turtle.filling()                  # 返回当前是否在填充状态

turtle.begin_fill()             # 准备开始填充图形

turtle.end_fill()               # 填充完成

turtle.hideturtle()             # 隐藏箭头显示

turtle.showturtle()            # 与hideturtle()函数对应
五、全局控制命令
import turtle
turtle.clear()               # 清空turtle窗口,但是turtle的位置和状态不会改变

turtle.reset()              # 清空窗口,重置turtle状态为起始状态

turtle.undo()             # 撤销上一个turtle动作

turtle.isvisible()         # 返回当前turtle是否可见

stamp()                    # 复制当前图形

turtle.write(s[,font=("font-name",font_size,"font_type")])
      # 写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型
六、绘制方形螺旋
import turtle

turtle.title("螺旋线")
turtle.setup(400,400,0,0)
turtle.speed(5)          #设置绘制时的速度
turtle.pensize(1)        #设置画笔尺寸

for x in range(500):
        turtle.forward(x)
        turtle.left(91)

turtle.done()
七、绘制彩色螺旋
import turtle 
colors = ['red', 'purple', 'blue', 'green', 'yellow', 'orange']
for x in range(360):
         turtle.pencolor(colors[x % 6])        #取颜色列表
         turtle.width(x / 100 + 1)                #取笔画大小
         turtle.forward(x)
         turtle.left(59)
八、绘制太阳花
import turtle as t     #将函数turtle别名命名为t,简化程序语句书写
import time
t.color("red", "yellow")
t.speed(2)
x=1
while x<=50:
     t.forward(200)
     t.left(170)
     time.sleep(1)       #调用了time库,sleep睡眠的意思,括号里是秒数
     x=x+1

九、画五角星:
import turtle
import time
turtle.title("绘制五角星")         #命名窗体
turtle.bgcolor("yellow")           #这里是设计背景颜色
turtle.pensize(1)                    #画笔大小
turtle.pencolor("red")
turtle.fillcolor("red")
turtle.begin_fill()
time.sleep(1)                #调用了time库,sleep睡眠的意思,括号里是秒数
turtle.goto(-150,0)        #设置画笔位置(初始位置为中心[0,0])
time.sleep(1)
turtle.speed(5)             #设置绘制时的速度
x=1
while x<6:
       turtle.forward(300)       #画五角星边长为300
       turtle.right(144)            #调整画笔方向
       turtle.pencolor("red")     #画笔颜色
       turtle.fillcolor("red")       #填充颜色
       time.sleep(1)                 #画笔停留
       x=x+1
turtle.end_fill()          #填充颜色
turtle.penup()            #笔头提起
turtle.goto(0,-220)      #定位画圆起始位置
turtle.pendown()        #笔头落下
turtle.circle(170)         #画圆
turtle.goto(0,-230)      #定位画圆起始位置
turtle.circle(180)         #画圆
turtle.penup()            #笔头提起

turtle.goto(150,-200)
turtle.write("五角星", font=('Arial', 20, 'normal'))    #字体属性
turtle.pendown()        #笔头落下
turtle.forward(100)
效果:

十、绘画基础知识:
窗体光标初始位置都是0,就是屏幕正中央
到指定坐标:goto(x, y)
放下笔:pendown()
抬起笔:penup()
turtle.width(5) # 这个帮你调粗细,初始值为1
turtle.speed(0) # 设置画笔的速度,0为最快,其中0最快,直接出结果,1最慢,然后从2~10依次加快
颜色:color(“cc”)
画笔的颜色主要有:
黄色:yellow
红色:red
蓝色:blue
绿色:green
粉色:pink
紫色:purple
灰色:grey
橘色:orange

问卷星提供技术支持
举报