第二周:掌握基本绘图方法

2019-04-09  本文已影响0人  amberRMC

Python蟒蛇绘制示例:

#PythonDraw.py
import turtle//引入了一个绘图库 turtle:海归
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
    turtle.circle(40,80)
    turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()
代码执行后的蟒蛇

模块一:turtle库的使用

-turtle库基本介绍
-turtle绘图窗体布局
-turtle空间坐标体系
-turtle角度坐标体系
-RGB色彩体系

turtle库:入门级图形绘制函数库
Python计算生态=标准库+第三方库
-标准库:随解释器直接安装到OS中的功能模块
-第三方库:通过安装才能使用的功能模块


turtle绘制窗体:turtle.setup(width,height,statx,starty) (后两个参数可选)

turtle空间坐标体系: 绝对坐标、海归坐标

绝对坐标

-turtle.goto(x,y)  //表示从当前位置前往目标坐标
turtle绝对坐标.png

海龟坐标

-turtle.fd(d) //表示向海龟的正前方运行
-turtle.bk(d) //表示向海龟的反方向运行
-turtle.circle(r,angle) //表示以海龟当前位置左侧的某个点为圆心进行曲线运行
turtle海龟坐标.png

turtle角度坐标体系

-turtle.seth(angle)          //设置海龟的行进角度(方向)
-turtle.left(angle)
-turtle.right(angle)
turtle角度坐标体系.png

实现:Z形曲线的绘制

import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)

RGB色彩体系
-turtle.colormode(1.0):RGB小数模式
-turtle.colormode(255):RGB整数模式

RGB常用色.png

模块二:turtle程序语法元素分析

-库引用与import
-turtle画笔控制函数
-turtle运动控制函数
-turtle方向控制函数
-基本循环语句
-"Python蟒蛇绘制"代码分析

库引用:扩充程序功能的一种方式

import <库名>
<库名>.<函数名>(<函数参数>)

省略turtle:
from <库名> import <函数名>
from <库名> import *
<函数名>(<函数参数>)

代码改造

#PythonDraw.py
from turtle import *
setup(650,350,200,200)
penup()
fd(-250)
pendown()
pensize(25)
pencolor("purple")
seth(-40)
for i in range(4):
    circle(40,80)
    circle(-40,80)
circle(40,80/2)
fd(40)
circle(16,180)
fd(40*2/3)
done()

这样可以省略一直引用库名,但是也有其缺点,如果参数名和自定义参数重名或者引用的库太多发生函数名重复则会带来许多麻烦。

解决办法:

#PythonDraw.py
import turtle as t
t.setup(650,350,200,200)
t.penup()
t.fd(-250)
t.pendown()
t.pensize(25)
t.pencolor("purple")
t.seth(-40)
for i in range(4):
    t.circle(40,80)
    t.circle(-40,80)
t.circle(40,80/2)
t.fd(40)
t.circle(16,180)
t.fd(40*2/3)
t.done()

turtle画笔控制函数

penup(),pencolor(),pensize(),pendown()

turtle.pu() 、turtle.pd():画笔操作后一直有效,一般成对出现
turtle.pensize(width)别名:turtle.width(width)

turtle.pencolor()参数有三种形式:
-颜色字符串: turtle.pencolor("purple")
-RGB的小数值:turtle.pencolor(0.63,0.13,0.94)
//默认小数值(如果要用整数值模式:turtle.colormode(255))
-RGB的元组值:turtle.pencolor((0.63,0.13,0.94))

turtle运动控制函数

1.turtle.forward(d) 别名:turtle.fd(d)
d:行进距离,可为负数
2.turtle.circle(r,extent=None)
r:海龟运动的半径 圆心位置:海归左侧r距离处

方向控制函数

绝对视角-turtle.setheading(angle) 别名:turtle.seth(angle) //规定行进方向
海龟视角-
turtle.left(angle)
turtle.right(angle)
//海龟转向

循环语句与range()函数

for <变量> in range(<参数>):
(一个缩进)<被循环执行的语句>
注意这里的冒号不能丢

Python蟒蛇代码分析:

#PythonDraw.py
import turtle //引入绘图库
turtle.setup(650,350,200,200) //设置窗体:宽度为650像素,高度为350像素;窗体位置距离当前屏幕左上角(200,200)的位置
turtle.penup() //提起画笔
turtle.fd(-250) //画笔提起,海龟飞行,所以画布上不留下效果
turtle.pendown() //画笔落下
turtle.pensize(25) //设置画笔粗细
turtle.pencolor("purple") //设置画笔颜色
turtle.seth(-40) //规定画笔行进方向为-40度
for i in range(4):
turtle.circle(40,80) //以左40为远点,绘制80度
turtle.circle(-40,80) //以右40为原点,绘制80度
turtle.circle(40,80/2)
turtle.fd(40) //脖子部分:左40为原点绘制40度,后行进40
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done() //运行之后不会退出,否则自动退出

上一篇下一篇

猜你喜欢

热点阅读