当前位置:   article > 正文

利用python的turtle库绘制玫瑰的步骤_python中对turtle库的学习笔记

turtle画玫瑰

1.turtle库的引用:

1)import turtle   引入绘图库

import   <库名>

<库名>. <函数名>

程序中每个函数都需要加turtle库名

2)from和import 共同完成

from <库名> import*

<函数名>

程序中每个函数不需要加库名,但是如果有多个库,库中存在相同函数,或者自变量于函数名重合,会造成 引用错误。

3)import

和 as共同完成

import  turtle as  t

t. <函数名>

给调用外部库关联一个更简单的名字t,调用 t. <函数名>,即简便又不会重名。

2.turtle画布控制函数

1)turtle绘图窗体

turtle.setup(width,height,startx,starty)

setup()设置窗体的大小和窗体的位置;4个参数中后两个可选;setup()不是必选,

输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,为空表示窗口位于屏幕中心。

c59ee2ea6fd2

c59ee2ea6fd2

2)turtle空间坐标体系和角度坐标体系

turtle .gotu(100,100)     直接转到坐标为(100,100)的位置。

c59ee2ea6fd2

turtle.setx( ):将当前x轴移动到指定位置

turtle.sety( ):将当前y轴移动到指定位置

3.turtle画笔控制函数

turtle.penup()别名turtle.pu():拾起画笔,海龟在飞行

turtle.pendown()别名turtle.pd():放下画笔,海龟在爬行

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

turtle.pencolor(color)  有三种方式:

turtle.pencolor(‘purple’)

turtle.pencolor(255,255,255)

turtle.pencolor(1,1,1)

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

turtle.home():设置当前画笔位置为原点,朝向东。

turtle.dot(r):绘制一个指定直径和颜色的圆点。

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

turtle.end_fill():填充完成。

turtle.hideturtle():隐藏画笔的turtle形状。

turtle.showturtle():显示画笔的turtle形状

3.turtle运动控制函数

1)走直线

turtle.forward(distance)(别名:turtle.fd):向当前画笔方向移动distance像素长度。

turtle.backward(distance):向当前画笔相反方向移动distance像素长度。注意转向不变

2)走曲线

turtle.right(angle):顺时针移动angle

turtle.left(angle):逆时针移动angle。

turtle.circle(radius, extent=None, steps=None)

描述:以给定半径画圆

参数:

radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;

extent(弧度) (optional);

steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。

举例:

circle(50) # 整圆;

circle(50,steps=3) # 三角形;

circle(120, 180) # 半圆

4.turtle方向控制函数、

1)绝对角度

turtle.seth(angle) :只改变海龟方向但不行进,angle为绝对角度可正可负。

c59ee2ea6fd2

2)海龟角度

turtle.right(anger):顺时针移动anger。

turtle.left(anger):逆时针移动anger。

5.基本循环语句

for <变量>in range(<参数>)

<被循环执行的语句>

<变量>表示每次循环的计数,0到次数-1

c59ee2ea6fd2

range 函数产生循环计数序列

range(N)产生0到N-1的整数序列,共N个

range(M,N)产生M到N-1的整数序列,共N-M个

6.举例分析

1)太阳花

代码:

from turtle import *

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

pensize(2) #设置画笔的宽度

color('red','yellow') #设置画笔颜色为蓝色,填充颜色为绿色

while True:

forward(200) #画笔移动200个像素长度

left(170)  #逆时针移动170°

if abs(pos())<1: #判断画笔是否回到起点

break

end_fill()  #结束填充图形

done()

2)玫瑰花

c59ee2ea6fd2

代码:

from turtle import *

#global pen and speed

pencolor("black")

fillcolor("red")

speed(50)

s=0.15

#init poistion

penup()

goto(0,600*s)

pendown()

begin_fill()

circle(200*s,30)

for i in range(60):

lt(1)

circle(50*s,1)

circle(200*s,30)

for i in range(4):

lt(1)

circle(100*s,1)

circle(200*s,50)

for i in range(50):

lt(1)

circle(50*s,1)

circle(350*s,65)

for i in range(40):

lt(1)

circle(70*s,1)

circle(150*s,50)

for i in range(20):

rt(1)

circle(50*s,1)

circle(400*s,60)

for i in range(18):

lt(1)

circle(50*s,1)

fd(250*s)

rt(150)

circle(-500*s,12)

lt(140)

circle(550*s,110)

lt(27)

circle(650*s,100)

lt(130)

circle(-300*s,20)

rt(123)

circle(220*s,57)

end_fill()

lt(120)

fd(280*s)

lt(115)

circle(300*s,33)

lt(180)

circle(-300*s,33)

for i in range(70):

rt(1)

circle(225*s,1)

circle(350*s,104)

lt(90)

circle(200*s,105)

circle(-500*s,63)

penup()

goto(170*s,-330*s)

pendown()

lt(160)

for i in range(20):

lt(1)

circle(2500*s,1)

for i in range(220):

rt(1)

circle(250*s,1)

fillcolor('green')

penup()

goto(670*s,-480*s)

pendown()

rt(140)

begin_fill()

circle(300*s,120)

lt(60)

circle(300*s,120)

end_fill()

penup()

goto(180*s,-850*s)

pendown()

rt(85)

circle(600*s,40)

penup()

goto(-150*s,-1300*s)

pendown()

begin_fill()

rt(120)

circle(300*s,115)

lt(75)

circle(300*s,100)

end_fill()

penup()

goto(430*s,-1370*s)

pendown()

rt(30)

circle(-600*s,35)

done()

3)玫瑰花

c59ee2ea6fd2

代码:

import turtle

turtle.screensize(600,500,'white')

turtle.pensize(3)          #设置画笔宽度为3

turtle.pencolor('blue')    #设置画笔颜色为黑色

turtle.fillcolor('yellow')  #设置填充颜色为黄色

turtle.begin_fill()        #开始填充

turtle.forward(-300)

for i in range(3,8):

turtle.circle(20, steps=i)

turtle.forward(100)

turtle.circle(20)

turtle.end_fill()

turtle.hideturtle()        #隐藏海龟

turtle.done()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/621959
推荐阅读
相关标签
  

闽ICP备14008679号