Share E-Book

Python极客项目编程 ([美] Mahesh Venkitachalam)(Z-Library)

Author [美] Mahesh Venkitachalam

Python
Language Chinese

No Description

Format PDF
Size 9.9 MB
195
Views
0
Downloads
0.00
Total Donations
(First 20 pages)

Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Page 1
(This page has no text content)
Page 2
⽬  录 版权信息 版权声明 内容提要 致谢 前⾔ 第⼀部分 热⾝运动 第1章 解析iTunes播放列表 1.1 iTunes播放列表⽂件剖析 1.2 所需模块 1.3 代码 1.3.1 查找重复 1.3.2 提取重复 1.3.3 查找多个播放列表中共同的⾳轨 1.3.4 收集统计信息 1.3.5 绘制数据 1.3.6 命令⾏选项 1.4 完整代码 1.5 运⾏程序 1.6 ⼩结
Page 3
1.7 实验 第2章 万花尺 2.1 参数⽅程 2.1.1 万花尺⽅程 2.1.2 海⻳画图 2.2 所需模块 2.3 代码 2.3.1 Spiro构造函数 2.3.2 设置函数 2.3.3 restart()⽅法 2.3.4 draw()⽅法 2.3.5 创建动画 2.3.6 SpiroAnimator类 2.3.7 genRandomParams()⽅法 2.3.8 重新启动程序 2.3.9 update()⽅法 2.3.10 显⽰或隐藏光标 2.3.11 保存曲线 2.3.12 解析命令⾏参数和初始化 2.4 完整代码 2.5 运⾏万花尺动画 2.6 ⼩结 2.7 实验 第⼆部分 模拟⽣命
Page 4
第3章 Conway⽣命游戏 3.1 ⼯作原理 3.2 所需模块 3.3 代码 3.3.1 表⽰⽹格 3.3.2 初始条件 3.3.3 边界条件 3.3.4 实现规则 3.3.5 向程序发送命令⾏参数 3.3.6 初始化模拟 3.4 完整代码 3.5 运⾏模拟⼈⽣的游戏 3.6 ⼩结 3.7 实验 第4章 ⽤Karplus-Strong算法产⽣⾳乐泛⾳ 4.1 ⼯作原理 4.1.1 模拟 4.1.2 创建WAV⽂件 4.1.3 ⼩调五声⾳阶 4.2 所需模块 4.3 代码 4.3.1 ⽤deque实现环形缓冲区 4.3.2 实现Karplus-Strong算法 4.3.3 写WAV⽂件 4.3.4 ⽤pygame播放WAV⽂件
Page 5
4.3.5 main()⽅法 4.4 完整代码 4.5 运⾏拨弦模拟 4.6 ⼩结 4.7 实验 第5章 类⻦群:仿真⻦群 5.1 ⼯作原理 5.2 所需模块 5.3 代码 5.3.1 计算类⻦群的位置和速度 5.3.2 设置边界条件 5.3.3 绘制类⻦群 5.3.4 应⽤类⻦群规则 5.3.5 添加个体 5.3.6 驱散类⻦群 5.3.7 命令⾏参数 5.3.8 Boids类 5.4 完整代码 5.5 运⾏类⻦群模拟 5.6 ⼩结 5.7 实验 第三部分 图⽚之乐 第6章 ASCII⽂本图形
Page 6
6.1 ⼯作原理 6.2 所需模块 6.3 代码 6.3.1 定义灰度等级和⽹格 6.3.2 计算平均亮度 6.3.3 从图像⽣成ASCII内容 6.3.4 命令⾏选项 6.3.5 将ASCII⽂本图形字符串写⼊⽂本⽂件 6.4 完整代码 6.5 运⾏ASCII⽂本图形⽣成程序 6.6 ⼩结 6.7 实验 第7章 照⽚⻢赛克 7.1 ⼯作原理 7.1.1 分割⽬标图像 7.1.2 平均颜⾊值 7.1.3 匹配图像 7.2 所需模块 7.3 代码 7.3.1 读⼊⼩块图像 7.3.2 计算输⼊图像的平均颜⾊值 7.3.3 将⽬标图像分割成⽹格 7.3.4 寻找⼩块的最佳匹配 7.3.5 创建图像⽹格 7.3.6 创建照⽚⻢赛克
Page 7
7.3.7 添加命令⾏选项 7.3.8 控制照⽚⻢赛克的⼤⼩ 7.4 完整代码 7.5 运⾏照⽚⻢赛克⽣成程序 7.6 ⼩结 7.7 实验 第8章 三维⽴体画 8.1 ⼯作原理 8.1.1 感知三维⽴体画中的深度 8.1.2 深度图 8.2 所需模块 8.3 代码 8.3.1 重复给定的平铺图像 8.3.2 从随机圆创建平铺图像 8.3.3 创建三维⽴体画 8.3.4 命令⾏选项 8.4 完整代码 8.5 运⾏三维⽴体画⽣成程序 8.6 ⼩结 8.7 实验 第四部分 ⾛进三维 第9章 理解OpenGL 9.1 ⽼式OpenGL
Page 8
9.2 现代OpenGL:三维图形管线 9.2.1 ⼏何图元 9.2.2 三维变换 9.2.3 着⾊器 9.2.4 顶点缓冲区 9.2.5 纹理贴图 9.2.6 显⽰OpenGL 9.3 所需模块 9.4 代码 9.4.1 创建OpenGL窗⼝ 9.4.2 设置回调 9.4.3 Scene类 9.5 完整代码 9.6 运⾏OpenGL应⽤程序 9.7 ⼩结 9.8 实验 第10章 粒⼦系统 10.1 ⼯作原理 10.1.1 为粒⼦运动建模 10.1.2 设置最⼤范围 10.1.3 渲染粒⼦ 10.1.4 利⽤OpenGL混合来创建更逼真⽕花 10.1.5 使⽤公告板 10.1.6 ⽣成⽕花动画 10.2 所需模块
Page 9
10.3 粒⼦系统的代码 10.3.1 定义粒⼦的⼏何形状 10.3.2 为粒⼦定义时间延迟数组 10.3.3 设置粒⼦初始速度 10.3.4 创建顶点着⾊器 10.3.5 创建⽚段着⾊器 10.3.6 渲染 10.3.7 Camera类 10.4 粒⼦系统完整代码 10.5 盒⼦代码 10.6 主程序代码 10.6.1 每步更新这些粒⼦ 10.6.2 键盘处理程序 10.6.3 管理主程序循环 10.7 完整主程序代码 10.8 运⾏程序 10.9 ⼩结 10.10 实验 第11章 体渲染 11.1 ⼯作原理 11.1.1 数据格式 11.1.2 ⽣成光线 11.1.3 显⽰OpenGL窗⼝ 11.2 所需模块 11.3 项⽬代码概述
Page 10
11.4 ⽣成三维纹理 11.5 完整的三维纹理代码 11.6 ⽣成光线 11.6.1 定义颜⾊⽴⽅体的⼏何形状 11.6.2 创建帧缓冲区对象 11.6.3 渲染⽴⽅体的背⾯ 11.6.4 渲染⽴⽅体的正⾯ 11.6.5 渲染整个⽴⽅体 11.6.6 调整⼤⼩处理程序 11.7 完整的光线⽣成代码 11.8 体光线投射 11.8.1 顶点着⾊器 11.8.2 ⽚段着⾊器 11.9 完整的体光线投射代码 11.10 ⼆维切⽚ 11.10.1 顶点着⾊器 11.10.2 ⽚段着⾊器 11.10.3 针对⼆维切⽚的⽤户界⾯ 11.11 完整的⼆维切⽚代码 11.12 代码整合 11.13 完整的主⽂件代码 11.14 运⾏程序 11.15 ⼩结 11.16 实验 第五部分 玩转硬件
Page 11
第12章 Arduino简介 12.1 Arduino 12.2 Arduino⽣态系统 12.2.1 语⾔ 12.2.2 IDE 12.2.3 社区 12.2.4 外设 12.3 所需模块 12.4 搭建感光电路 12.4.1 电路⼯作原理 12.4.2 Arduino程序 12.4.3 创建实时图表 12.5 Python代码 12.6 完整的Python代码 12.7 运⾏程序 12.8 ⼩结 12.9 实验 第13章 激光⾳乐秀 13.1 ⽤激光产⽣图案 13.1.1 电机控制 13.1.2 快速傅⾥叶变换 13.2 所需模块 13.2.1 搭建激光秀 13.2.2 连接电机驱动器 13.3 Arduino程序
Page 12
13.3.1 配置Arduino数字输出引脚 13.3.2 主循环 13.3.3 停⽌电机 13.4 Python代码 13.4.1 选择⾳频设备 13.4.2 从输⼊设备读取数据 13.4.3 计算数据流的FFT 13.4.4 从FFT值提取频率信息 13.4.5 将频率转换为电机速度和⽅向 13.4.6 测试电机设置 13.4.7 命令⾏选项 13.4.8 ⼿动测试 13.5 完整的Python代码 13.6 运⾏程序 13.7 ⼩结 13.8 实验 第14章 基于树莓派的天⽓监控器 14.1 硬件 14.1.1 DHT11温湿度传感器 14.1.2 树莓派 14.1.3 设置树莓派 14.2 安装和配置软件 14.2.1 操作系统 14.2.2 初始配置 14.2.3 Wi-Fi设置
Page 13
14.2.4 设置编程环境 14.2.5 通过SSH连接 14.2.6 Web框架Bottle 14.2.7 ⽤flot绘制 14.2.8 关闭树莓派 14.3 搭建硬件 14.4 代码 14.4.1 处理传感器数据请求 14.4.2 绘制数据 14.4.3 update()⽅法 14.4.4 ⽤于LED的JavaScript处理程序 14.4.5 添加交互性 14.5 完整代码 14.6 运⾏程序 14.7 ⼩结 14.8 实验 附录A 软件安装 附录B 基础实⽤电⼦学 附录C 树莓派的建议和技巧 欢迎来到异步社区!
Page 14
版权信息 书名:Python极客项⽬编程 ISBN:978-7-115-44976-4 本书由⼈⺠邮电出版社发⾏数字版。版权所有, 侵权必究。 您购买的⼈⺠邮电出版社电⼦书仅供您个⼈使 ⽤,未经授权,不得以任何⽅式复制和传播本书 内容。 我们愿意相信读者具有这样的良知和觉悟,与我 们共同保护知识产权。 如果购买者有侵权⾏为,我们可能对该⽤户实施 包括但不限于关闭该帐号等维权措施,并可能追 究法律责任。 • 著    [美] Mahesh Venkitachalam   译    王海鹏
Page 15
  责任编辑 陈冀康 • ⼈⺠邮电出版社出版发⾏  北京市丰台区成 寿寺路11号   邮 编   100164   电 ⼦ 邮 件   315@ptpress.com.cn   ⽹址 http://www.ptpress.com.cn • 读者服务热线:(010)81055410   反盗版热线:(010)81055315
Page 16
版权声明 Simplified Chinese-language edition copyright © 2017 by Posts and Telecom Press. Copyright © 2016 by Mahesh Venkitachalam. Title of English-language original: Python Playground , ISBN-13: 978-1-59327-604-1, published by No Starch Press. All rights reserved. 本书中⽂简体字版由美国No Starch出版社授 权⼈⺠邮电出版社出版。未经出版者书⾯许可, 对本书任何部分不得以任何⽅式复制或抄袭。 版权所有,侵权必究。
Page 17
内容提要 Python是⼀种解释型、⾯向对象、动态数据 类型的⾼级程序设计语⾔。通过Python编程,我 们能够解决现实⽣活中的很多任务。 本书通过14个有趣的项⽬,帮助和⿎励读者 探索Python编程的世界。全书共14章,分别介绍 了通过Python编程实现的⼀些有趣项⽬,包括解 析iTunes播放列表、模拟⼈⼯⽣命、创建ASCII码 艺术图、照⽚拼接、⽣成三维⽴体图、创建粒⼦ 模拟的烟花喷泉效果、实现⽴体光线投射算法, 以及⽤Python结合Arduino和树莓派等硬件的电⼦ 项⽬。本书并不介绍Python语⾔的基础知识,⽽ 是通过⼀系列不简单的项⽬,展⽰如何⽤Python 来解决各种实际问题,以及如何使⽤⼀些流⾏的 Python库。 本书适合那些想要通过Python编程来进⾏尝 试和探索的读者,适合了解基本的Python语法和 基本的编程概念的读者进⼀步学习,对于Python 程序员有⼀定的启发和参考价值。
Page 18
致谢 写⼀本书就像跑⻢拉松。有⼈这么对我说 过。但我确实知道,写这本书考验了我的耐⼒极 限,没有亲朋好友和家⼈为我摇旗呐喊,我不可 能完成。 ⾸先,我感谢我的妻⼦Hema,她不变的爱、 ⿎励和耐⼼,贯穿了完成这项⼯作的整整两年时 间。我感谢我的朋友Raviprakash Jayaraman,他是 我所有不确定的项⽬的“同谋”,也是本书的技术 评审,我们⼀起吃了许多有趣的午餐、看了不少 电影,多次去逛S.P. Road Zoo。我感谢我的朋友 Seby Kallarakkal,他推动我编写这本书,进⾏了 多次有趣的讨论。我很感谢我的朋友Santosh Hemachandra博⼠在快速傅⾥叶变换上的有益讨 论。我感谢Karthikeyan Chellappa,帮助我测试 Python模块的安装,和我⼀起围绕Kaikondrahalli 湖跑步。我还要感谢Matthew Denham(我与他在 Reddit上交谈),他对万花尺(Spirograph)的数 学知识提供了帮助。
Page 19
我感谢No Starch出版社的Tyler Ortman和Bill Pollock,他们接受了我编写本书的意向。还要感 谢 Serena Yang编辑本书的专业⼯作。我感谢 Nicholas Kramer对本书的技术评阅。 我感谢我的 ⽗⺟A.V. Venkitachalam和N. Saraswathy,他们为 我提供的教育远远超越了他们的财务能⼒。最 后,我感谢所有给我启发的⽼师,我希望⼀辈⼦ 做⼀名学⽣。
Page 20
前⾔
The above is a preview of the first 20 pages. Register to read the complete e-book.

Recommended for You

Loading recommended books...
Failed to load, please try again later

Tip the Site

Scan the WeChat Pay or Alipay code to tip. No login required.

WeChat Pay
Alipay
Back to List