python基本图形绘制

python语言是通用语言:可由于普世的求解问题的开发。

强制可读性、较少的底层语法元素、多种编程方式、支持中文字符、语法简洁是C语言代码量的10%、13万的第三方库、快速增长的计算生态、避免重复造轮子、开发共享、跨操作平台、生态高产

超级语言:

  • 粘性整合已有程序,具备庞大的计算生态
  • 编程思维不再是刀耕火种,而是集成开发

python蟒蛇绘制

问题1:计算机绘图是什么原理?
  • 一段程序为何能够产生窗体?为何能在窗体上绘制图形?
问题2:python蟒蛇绘制从哪里开始呢?
  • 如何绘制一条线?弧线?

代码实现

#PythonDraw.py
import 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绘图体系的Python实现。是python语言的标准库之一,入门级的图像绘制函数库

python计算生态=标准库+第三方库

  • 标准库:随解释器直接安装到操作系统中的功能模块
  • 第三方库:需要安装才能使用的功能模块
  • 库Library、包Package、模块Module,统称模块
逐行解释:

#PythonDraw.py
import turtle#引入一个绘图库
turtle.setup(650,350,200,200)#turtle.setup(width,height,startx,starty)设置窗体大小及位置,4个参数后两个可选。setup()并不是必须的
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()

#PythonDraw.py
import turtle#引入一个绘图库
turtle.goto(100,100)
turtle.goto(100,-100)
turtle.goto(-100,-100)
turtle.goto(-100,100)
turtle.goto(0,0)

运行结果:







画“Z”字

#PythonDraw.py
import turtle#引入一个绘图库
turtle.fd(150)
turtle.right(135)
turtle.fd(150*1.4)
turtle.left(135)
turtle.fd(150)

RGB色彩模式:由三种颜色构成的万物色

  • RGB制红绿蓝三个通道的颜色组合
  • 覆盖视力所能感知的所有颜色
  • RGB每色取值范围0~255整数或0~1小数



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

使用import保留字完成,采用<a>,<b>()编码风格

import<库名>

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

还可以使用from和import保留字共同完成

from<库名>import<函数名>

或from<库名>import*

<函数名>(<函数参数>)

改造后的代码

#PythonDraw.py
from turtle import*#引入一个绘图库
setup(650,350,200,200)#turtle.setup(width,height,startx,starty)设置窗体大小及位置,4个参数后两个可选。setup()并不是必须的
penup()#海龟飞起
fd(-250)#前进-250
pendown()#海龟落下
pensize(25)#画笔尺寸变为25
pencolor("purple")#画笔颜色变为purple
seth(-40)#方向设置为绝对-40°
for i in range(4):循环4次
    circle(40,80)#设置40为半径,80°的弧度
    circle(-40,80)#设置反向40为半径,80°的弧度
circle(40,80/2)
fd(40)#行进40
circle(16,180)
fd(40*2/3)
done()#程序不会退出,需要手动退出

import<库名>as<库别名>

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

给调用的外部库关联一个更短、更适合自己的名字,会带来好多便利

画笔控制函数

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

画笔操作后一直有效,一般成对出现

penup()——抬起画笔,海龟在飞行

pendown()——落下画笔,海龟在爬行

pensize()——画笔宽度,海龟的腰围

pencolor(color)——画笔颜色,海龟在涂装

color参与可以有三种形式:

  • 颜色字符串:pencolor("purple")
  • RGB的小数值:pencolor(0.63,,013,0.94)
  • RGB的元组值:pencolor((0.63,,013,0.94))

运动控制函数

控制海龟行进:走直线或走曲线

turtle.forward(d) 别名 turtle.fd(d):向前行进,海龟走直线,行进距离为负数,后退

turtle.circle(r,extent=None) 根据半径r绘制extent角度的弧形。r:默认圆心在海龟左侧r距离的位置。extent为绘制角度。默认绘制360度整个圆形

方向控制函数

控制海龟面对方向:绝对角度和海龟角度

turtle.settheheading(angle) 别名 turtle.seth(angle)

改变行进方向,海龟走角度。angle

turtle.left(angle) 海龟向左转

turtle.right(angle)海龟向右转

循环语句

for<变量>in range(<函数名>)

<被循环执行的语句>

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

range()函数

与for,in搭配产生循环计数序列

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

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


猜你喜欢

转载自blog.csdn.net/qq_42020563/article/details/80629921