1 Python的海龟作图系统turtlemodule
Python内置,随时可用,以LOGO语言的创意为基础
其意象为模拟海龟在沙滩上爬行而留下的足迹
爬行:forward(n); backward(n)
转向:left(a); right(a)
抬笔放笔:penup(); pendown()
笔属性:pensize(s); pencolor©
隐藏画笔:hideturtle()
import turtle
t=turtle.Turtle()
#作图开始
t.forward(100)
#作图结束
turtle.done()
2 海龟作图1:画正方形
import turtle
t=turtle.Turtle()
for i in range(4):
t.forward(100)
t.right(90)
turtle.done()
3 海龟作图2:画五角星
import turtle
t=turtle.Turtle() #开始作画
t.pencolor('red')
t.pensize(3)
for i in range(5):
t.forward(100)
t.right(144)
t.hideturtle() #隐藏画笔
turtle.done() #结束作画
4 递归作图-螺旋
import turtle
def drawSpiral(t,lineLen):
if lineLen>0: #最小规模,0直接退出
t.forward(lineLen)
t.right(90)
drawSpiral(t,lineLen-5) #减小规模,边长减5
t=turtle.Turtle()
drawSpiral(t,100)
turtle.done()
5 递归作图-分形树
import turtle
def tree(branch_len):
if branch_len>5: #树干太短不画,即递归结束条件
t.forward(branch_len) #画树干
t.right(20) #右倾斜20度
tree(branch_len-15) #递归调用,画右边小树,树干减15
t.left(40) #向左回40度,即左倾斜20度
tree(branch_len-15) #递归调用,画左边小树,树干减15
t.right(20) #向右回20度,即回正
t.backward(branch_len) # 海龟退回原位置
t=turtle.Turtle() #开始作画
t.left(90)
t.penup() #抬笔,移动时不绘画
t.backward(100)
t.pendown() #放笔
t.pencolor('green')
t.pensize(3)
tree(75)
t.hideturtle() #隐藏画笔
turtle.done() #结束作画