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

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() //运行之后不会退出,否则自动退出

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容

  • 今天的感悟是——孤独是年轻人的常态。 有一句话这样说,孤独是人生的常态。而我以为,孤独只是年轻人的...
    木子戈木阅读 583评论 0 2
  • “这个我知道”,“这个我看过”,“这个我了解过”,“这个…”,类似这样的话,我们说过或者听过很多。 在做一件事之前...
    木言疯语阅读 117评论 0 1
  • 在某某人生栏目实习的时候,有个女编导. 我问:男人有一千万,给你一百万.或者男人有十万,给你十万,哪个更重要? ...
    长隐阅读 452评论 0 2
  • 由于昨天玩得太晚,到家己经9:00点了,今天早上儿子6:30起床,做运动(跑步、跳绳),在黑板上打了两个钩,吃完早...
    老焦的一天阅读 108评论 0 1
  • 鹊桥仙.七夕 文/逸茹 初秋天气,早晚凉意,绿减不消云暮。 梦里尚见鹊桥仙,倚栏望,星晨玉露。 辗转人间,孤雁哀泣...
    逸茹阅读 324评论 0 2