Turtle库

下列turtle库的简单常用指令

?forward(distance) #将箭头移到某一指定坐标

?left(angel)  right(angel)

?penup() #提起笔,用于另起一个地方绘制时用,与pendown()配对使用

?goto(x,y)

?home()

?circle(radius)

?speed()

 1 #五角星图形
 2 from turtle import Turtle
 3
 4 p = Turtle()
 5 p.speed(3)
 6 p.pensize(5)
 7 p.color("black", ‘yellow‘)
 8 #p.fillcolor("red")
 9 p.begin_fill()
10 for i in range(5):
11     p.forward(200)  #将箭头移到某一指定坐标
12     p.right(144)    #当前方向上向右转动角度
13 p.end_fill()

树的绘制

?观察:对称树, 从主杆出发以一定角度向左向右生成对称的枝丫, 且每一棵枝杈上以相同的角度生成更小的左右枝杈,如此往复。

    联系:所学内容,易想到利用递归程序实现;

 1 # drawtree.py
 2
 3 from turtle import Turtle, mainloop
 4
 5 def tree(plist, l, a, f):
 6     """ plist is list of pens
 7     l is length of branch
 8     a is half of the angle between 2 branches
 9     f is factor by which branch is shortened
10     from level to level."""
11     if l > 5: #
12         lst = []
13         for p in plist:
14             p.forward(l)#沿着当前的方向画画Move the turtle forward by the specified distance, in the direction the turtle is headed.
15             q = p.clone()#Create and return a clone of the turtle with same position, heading and turtle properties.
16             p.left(a) #Turn turtle left by angle units
17             q.right(a)#Turn turtle right by angle units, nits are by default degrees, but can be set via the degrees() and radians() functions.
18             lst.append(p)#将元素增加到列表的最后
19             lst.append(q)
20         tree(lst, l*f, a, f)
21
22
23
24 def main():
25     p = Turtle()
26     p.color("green")
27     p.pensize(5)
28     #p.setundobuffer(None)
29     p.hideturtle() #Make the turtle invisible. It’s a good idea to do this while you’re in the middle of doing some complex drawing,
30                    #because hiding the turtle speeds up the drawing observably.
31
32     p.getscreen().tracer(10,0)
33         #Return the TurtleScreen object the turtle is drawing on.
34         #TurtleScreen methods can then be called for that object.
35     #p.speed(10)
36     p.left(90)  #Turn turtle left by angle units. direction 调整画笔
37
38     p.penup() #Pull the pen up – no drawing when moving.
39     p.goto(0,-200)#Move turtle to an absolute position. If the pen is down, draw line. Do not change the turtle’s orientation.
40     p.pendown()# Pull the pen down – drawing when moving. 这三条语句是一个组合相当于先把笔收起来再移动到指定位置,再把笔放下开始画
41     #否则turtle一移动就会自动的把线画出来
42
43     #t = tree([p], 200, 65, 0.6375)
44     t = tree([p], 200, 65, 0.6375)
45
46 main()

森林的绘制 

?如何画出多棵树,甚至整片森林呢?

?答案很简单,只要在画每棵树之前调整画笔的位置,调用画树程序,就可以从新位置生成一颗新树了。

?利用模块化的函数思想,调整代码:

?将每棵树的绘制以maketree函数封装,参数x,y为画树的起点位置即树根位置。在main函数中只要以

 不同的参数设置来调用maketree函数就可以完成多棵树的绘制了

 1 # drawtree.py
 2 from turtle import Turtle, mainloop
 3
 4 def tree(plist, l, a, f):
 5     """ plist is list of pens
 6     l is length of branch
 7     a is half of the angle between 2 branches
 8     f is factor by which branch is shortened
 9     from level to level."""
10     if l > 5: #
11         lst = []
12         for p in plist:
13             p.forward(l)#沿着当前的方向画画Move the turtle forward by the specified distance, in the direction the turtle is headed.
14             q = p.clone()#Create and return a clone of the turtle with same position, heading and turtle properties.
15             p.left(a) #Turn turtle left by angle units
16             q.right(a)#Turn turtle right by angle units, nits are by default degrees, but can be set via the degrees() and radians() functions.
17             lst.append(p)#将元素增加到列表的最后
18             lst.append(q)
19         tree(lst, l*f, a, f)
20
21 def maketree(x, y):
22     p = Turtle()
23     p.color("green")
24     p.pensize(5)
25     p.hideturtle()
26     p.getscreen().tracer(30, 0)
27     p.left(90)
28
29     p.penup()
30     p.goto(x, y)
31     p.pendown()
32
33     t = tree([p], 110, 65, 0.6375)
34     print(len(p.getscreen().turtles())) #用了多少个turtle绘制
35
36 def main():
37     maketree(-200, -200)
38     maketree(0, 0)
39     maketree(200, -200)
40
41 main()

  图像:

    

时间: 2024-10-01 02:51:21

Turtle库的相关文章

Python turtle库的应用——蛇

turtle库介绍 1.Turtle中的turtle.setup()函数用于启动一个图形窗口,它有四个参数 turtle.setup(width, height, startx, starty) 分别是:启动窗口的宽度和高度表示窗口启动时,窗口左上角在屏幕中的坐标位置. 我们所使用的显示屏幕也是一个坐标系,该坐标系以左上角为原点,向左和向下分别是x轴和y轴.蟒蛇程序代码启动一个1300像素宽.800像素高的窗口,该窗口的左上角是屏幕的左上角. (startx,starty)表示画的初始点,(0,

使用Python中的Turtle库绘制简单的图形

Turtle图形库 Turtle库是Python内置的图形化模块,属于标准库之一,位于Python安装目录的lib文件夹下,常用函数有以下几种: 画笔控制函数 penup():抬起画笔: pendown():落下画笔: pensize(width):画笔宽度: pencolor(color):画笔颜色: 运动控制函数 forward(d)/fd(d):直行d个像素: circle(r, extent = None):绘制半径为r,角度为extent的弧形,圆心默认在海龟左侧距离r的位置: 方向控

turtle库使用

turtle库的使用 画笔控制函数 turtle.penup() 简写为turtle.pu(),用于抬起画笔 ,即使用后画笔的移动产生可见的轨迹. turtle.pendown() 简写为turtle.pd(),放下画笔,与抬起画笔相对应. turtle.pensize(width) 简写为turtle.width(width),画笔的宽度,用来表示笔迹的粗细. turtle.pencolor(rgb) 用来控制画笔的颜色.传入的rgb最好为rgb的小数元祖形式,如(0.63,0.13,0.94

Turtle库(海龟)

turtle库(会图库) 标准库+第三方库=python计算生态库 图体布局 turtle.setup(width,height,startx,starty) 设置窗体大小及位置(右上角位置电脑屏幕位置) turtle.screensize(widith,height,"颜色") 空间坐标体系 绝对坐标 turtle.goto(x,y) 海归坐标 turtle.fd turtle.bk turtle.circle(radius,extent,step) 角度     阶数  3  三角

python turtle库的几个小demo

一.先上图 一个同切圆和五角星 上代码 import turtle #同切圆 turtle.pensize(2) turtle.circle(10) turtle.circle(40) turtle.circle(80) turtle.circle(160) #五角星 from turtle import * color('red','yellow') begin_fill() for i in range(5): fd(200) rt(144) end_fill() done() 至于turt

Python入门习题2.蟒蛇绘制(turtle库)

例2.调用turtle库中的若干函数来绘制蟒蛇,要求:(1)主体窗口宽650像素,高度350像素,窗口左侧与屏幕左侧像素距离200,窗口顶部与屏幕顶部像素距离200:(2)画笔落点在原点反向前进250像素处,画笔尺寸25,颜色紫色:(3)画笔初始行进方向逆时针40°,先后分别绘制40为半径,80°的顺时针和逆时针圆弧,循环四次.(4)绘制40半径,40°顺时针圆弧,再前进40像素,绘制16半径180°顺时针圆弧,前行40*2/3像素. 解:效果如图: 1 from turtle import *

原来python还能这么用,使用turtle库画出漂亮的画!

Tuttle库是python内置库,今天就利用它画出各种漂亮的图! 如何画出多重五角星? 效果展示如下:是不是很酷呢,下面还有更酷的玩法.多重五角星的代码比较简单,用到了循环跟turtle库一些简单的方法就实现了. 如何画出一颗漂亮的树呢? 效果展示如下:是不是可以用beatiful来形容,自己一个个敲出来更有成就感,赶紧动手试一下吧!!! 还有更高阶的玩法:加入一些花瓣是不是感觉像自己完成的一幅佳作,以前要用笔画几个小时,现在你只需要几行代码就可以完成一幅漂亮的画: 欢迎点击右上角关注?转发,

Turtle库的学习积累

1.什么是turtle库 Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形. 2.turtle绘制图像基础 2.1 画布: 画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置. 设置画布大小 width : 窗口宽度,值为整数则对应像素值:值为小数则为窗口宽度与屏幕的比例. height : 窗口高度,值

turtle库的运用

使用turtle库绘制蟒蛇 一,常用函数 画笔控制函数 trutle.pensize() #控制运动轨迹的大小 trutle.pencolor()  #控制颜色 trutle.width()  #设置画笔的宽度 抬笔落笔函数 trutle.pu() trutle.pd() 形状绘制函数 trutle.pd()  #控制画笔向当前方向进行一个距离 trutle.seth()  #控制画笔绘制方向 import turtle #引用trutle库 turtle.setup(650,350,200,2