Python基本图形绘制1

2.1深入理解Python语言

2.1.1计算机技术的演进

  1. 1946-1981(35年)计算机系统结构时代,1946年第一台计算机诞生,产生了许多的CPU、操作系统、解释器、编译器等。重点解决计算能力问题。

  2. 1981-2008(27年)网络和视窗时代
    1981年个人PC机诞生,2008年安卓系统诞生。互联网和Windows视窗操 作系统得到发展。主要解决人与计算机、计算机与计算机的交互问题,人与计算机的交互问题通过操作系统视窗体现,计算机与计算机的交互问题通过互联网体现。

  3. 2008-2016(8年)复杂信息系统时代,数据问题,数据接口、存储等问题。

  4. 2016- 人工智能时代,人类的问题

2.1.2编程语言的多样初心

  1. 世界上有600多种编程语言。
  2. C语言,用来编写操作系统的语言,计算机系统结构时代
    学习内容:内存、指针、数据类型
    语言本质:理解计算机系统结构
    解决问题:性能
    适用对象:计算机类
    Java : 网络和视窗时代
    学习内容:对象、跨平台、运行时
    语言本质:理解主客体关系
    解决问题:跨平台
    适用对象:软件类
    C++:适用大规模程序如操作系统、大规模图形处理程序的编写
    学习内容:对象、多态、继承
    语言本质:理解主客体关系
    解决问题:大规模程序
    适用对象:计算机类
    VB:适合桌面应用的开发,网络和视窗时代
    学习内容:对象、按钮、文本框
    语言本质:理解交互逻辑,人机交互
    解决问题:桌面应用
    Python:发展于复杂信息系统时代
    学习内容:编程逻辑、第三方库
    语言本质:理解问题求解
    解决问题:各类问题
    适用对象:各种专业

2.1.3Python语言的特点

  1. Python语言是通用语言(最大特点)即不局限于某一门类;脚本语言;开源语言;跨平台语言;多模型语言。
  2. 语法上有强制可读性;较少底层语法元素;语法简洁;多种编程方式;支持中文字符。代码量是C语言的10%
  3. 有超13万的第三方库,快速增长的计算生态;避免重复造轮子;开放共享;跨操作系统平台。生态高产

2.1.4“超级语言”的诞生

1.编程语言的种类

编程语言描述
机器语言二进制代码表示指令;CPU可直接执行,与CPU型号有关
汇编语言二进制代码直接对应助记符;与CPU型号有关,程序不通用,需要汇编器转换
高级语言更接近自然语言,更容易描述计算问题,代码与具体CPU型号无关,编译后运行
超级语言有庞大的计算生态,可利用已有代码功能,编程不再是刀耕火种而是集成开发

2.2Python蟒蛇绘制实例

#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()

2.3turtle库的使用

2.3.1turtle库基本介绍

1.turtle(海龟)库是turtle绘图体系的Python实现
1969年诞生,主要用于程序设计入门;
Python语言的标准库之一;
入门级图形函数绘制库。
2.标准库
Python计算生态 = 标准库 + 第三方库
标准库:随解释器安装到操作系统的功能模块
第三方库:需经过安装才能使用的功能模块
库Library、包Package、模块Module,统称模块。
3.turtle的原(wan)理(fa)
turtle是一种真实的存在
有一只海龟,其实正在窗体正中心,在画布上游走;
走过的轨迹形成了绘制的图形;
海龟由程序控制,可以改变颜色、宽度等。

2.3.2turtle绘图窗体布局

1.窗体是turtle的画布空间,最小单位为像素
2. 电脑显示器中左上角为坐标原点(0,0),窗体左上角是turtle绘图窗体的坐标原点。
3. turtle.setup(width,height,startx,starty)
----width、height指窗体本身的宽度和高度,(startx,starty)起始点坐标指窗体左上角坐标相对于屏幕左上角的坐标
----setup()设置窗体大小及位置
----4个参数后两个可选,后两个省略后,窗体默认在屏幕的中间
----setup()不是必须的

2.3.3turtle空间坐标

1.空间坐标体系包含绝对坐标和海龟坐标两种。
2.绝对坐标:窗体画布正中心坐标(0,0),向右为x轴正向,向上为y轴正向。海龟绘制过程中画布中间的空间坐标体系,最常使用。
goto函数:
利用空间坐标改变turtle的行进位置可使用goto函数。
goto(x,y)指让在任何位置的海龟到达某一坐标位置。
3.海龟坐标:海龟本身从它自身的运动来看,当前行进方向为前进方向,反方向为后退方向,左侧叫左侧方向,右侧为右侧方向。
控制海龟的函数:改变海龟在空间坐标中的位置
——turtle.fd向海龟正前方运行
——turtle.bk向海龟的反方向运行
——turtle.circle以海龟当前位置左侧某点为圆心,曲线运行

2.3.3turtle角度坐标体系

1.turtle在空间坐标体系中运行方向也有一个绝对角度。从绝对坐标角度来看,x轴表示0°或360°以此类推。
绝对角度
——seth()改变海龟行进方向
——seth()只改变方向但不行进
——angle为绝对度数
例如turtle.seth(45)或turtle.seth(-135)之后使用turtle.fd()向当前方向运行
2.从海龟坐标角度来看,能更好改变海龟运行方向,使用左右方式改变运行方向。
——turtle.left(angle)向左改变运行方向
——turtle.right(angle)向右改变运行方向
Z型曲线绘制(自己先写了一遍)

import turtle
turtle.goto(200,0)
turtle.seth(225)
turtle.fd(300)
turtle.seth(0)
turtle.fd(200)

例子Z的绘制代码
对比发现自己写的和所给代码都是Z的绘制,但我自己写的是正着的Z,示例代码是斜着的Z。

2.3.4RGB色彩体系

1.由红绿蓝构成万物色;覆盖视力所能感知的所有颜色;RGB每色取值范围0—255整数或0—1小数

颜色RGB值
白色255,255,255或1,1,1
黄色255,255,0或1,1,0
洋红(magenta)255,0,255或1,0,1
青色 (cyan)0,255,255或0,1,1
蓝色0,0,255或0,0,1
黑色0,0,0

turtle库默认采用小数值表示颜色即turtle.colormode(1.0),可使用turtle.colormode(255)切换为整数值

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值