第二章 Python基本图形绘制

2.1深入理解Python语言

2.1.1计算机技术的演进

计算机技术的演进过程
1946-1981计算机系统结构时代 (35年)计算能力问题
1981-2008网络和视窗时代 (27年)交互问题
2008-2016复杂信息系统时代 (8年)数据问题
2016-今人工智能时代(新计算时代)人类的问题

2.1.2编程语言的多样初心

编程语言有哪些

Basic、C、C++、C#、CSS、Fortran、Go、HTML、Java、JavaScript、Lisp、Lua、Matlab、 Object C、Pascal、Perl、PHP、PostScript、Python、Ruby、Scala、SQL、Swift、VBA、VB.NET、Verilog、VHDL、Visual Basic

不同编程语言的初心

2018年后的计算环境

互联网广泛普及、大数据、云计算、物联网、信息安全、人工智能等需求爆发。

2.1.3Python语言的特点

  • Python语言是通用语言
  • 脚本语言
  • 跨平台语言
  • 多模型语言

Python特点与优势

(1)语法简洁

  • C代码量的10%
  • 强制可读性
  • 较少的底层语法元素
  • 多种编程方法
  • 支持中文字符

(2)生态高产

  • >15万第三方库
  • 快速增长的计算生态
  • 避免重复造轮子
  • 开放共享
  • 跨操作系统平台

如何看待Python

  • 最高产的程序设计语言
  • 掌握抽象并求解计算问题综合能力的语言
  • 了解产业界解决复杂计算问题方法的语言
  • 将创新变为现实

2.1.4“超级语言”的诞生

编程语言的种类

机器语言代码直接执行,与CPU型号有关

  • 一种二进制语言,直接使用二进制代码表达指令。
  • 计算机硬件(CPU)可以直接执行,与具体CPU型号有关
  • 完成 2+3 功能的机器语言        11010010 00111011

汇编语言有助记符,汇编器,与CPU型号有关

  • 一种将二进制代码直接对应助记符的编程语言 。
  • 汇编语言与CPU型号有关,程序不通用,需要汇编器转换
  • 完成 2+3 功能的汇编语言        add 2,3,result

高级语言接近自然语言,编译器,与CPU型号无关

  • 更接近自然语言,同时更容易描述计算问题
  • 高级语言代码与具体CPU型号无关,编译后运行
  • 完成 2+3 功能的高级语言        result = 2 + 3

超级语言粘性整合已有程序,具备庞大计算生态

  • 具有庞大计算生态,可以很容易利用已有代码功能
  • 编程思维集成开发
  • 完成 2+3 功能的超级语言        result = sum(2,3)

2.2 turtle库的使用(模块1)

2.2.1 turtle库基本介绍

turtle库概述:turtle(海龟)库是turtle绘图体系的Python实现

  • turtle绘图体系:1969年诞生,主要用于程序设计入门
  • Python语言的标准库之一
  • 入门级的图形绘制函数库

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

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

turtle的原理

  • turtle在窗体正中心,在画布上游走
  • 走过的轨迹形成了绘制的图形
  • 海龟由程序控制,可以变换颜色、改变宽度等

2.2.2 turtle绘图窗体布局

 turtle的绘图窗体

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

  • setup( )设置窗体大小及位置
  • 4个参数中后两个可选
  • setup( )不是必须的

                    turtle.setup(800,400,0,0)                          turtle.setup(800,400,0,0)

2.2.3 turtle空间坐标体系

绝对坐标

turtle.goto(x, y)

import turtle
turtle.goto( 100, 100)
turtle.goto( 100,-100)
turtle.goto(-100,-100)
turtle.goto(-100, 100)
turtle.goto(0,0)

 

 

2.2.4 turtle角度坐标体系

绝对角度

 turtle.seth(angle)

  • seth()改变海龟行进方向
  • angle为绝对度数
  • seth()只改变方向但不行进

                                turtle.seth(45)                                           turtle.seth(-135)

 海龟角度:

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

 

2.2.5 RGB色彩体系

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

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

常用RGB色彩

 

turtle的RGB色彩模式:默认采用小数值 可切换为整数值

turtle.colormode(mode)

  • 1.0:RGB小数值模式
  • 255:RGB整数值模式

turtle库的使用

turtle库的海龟绘图法

turtle.setup()调整绘图窗体在电脑屏幕中的布局

画布上以中心为原点的空间坐标系: 绝对坐标&海龟坐标

画布上以空间x轴为0度的角度坐标系: 绝对角度&海龟角度

RGB色彩体系,整数值&小数值,色彩模式切换

2.3 turtle程序语法元素分析

2.4 Python蟒蛇绘制(实例2)

问题分析:用程序绘制一条蛇。

#PythonDraw.py
import turtle    #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()

运行效果:

 举一反三:

(1)Python语法元素理解:

  • 参考框架、逐行分析、逐词理解

(2)程序参数的改变:

  • 改变颜色
  • 改变长度
  • 改变方向

(3)计算问题的扩展

  • 绘制圆形、五角星、国旗、机器猫……
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值