Python极客项目编程
图书信息
| 作者 | (美)温科特卡姆(MaheshVenk |
| 出版社 | 人民邮电 |
| ISBN | 9787115449764 |
| 条形码 | 9787115449764 ; 978-7-115-44976-4 |
| 出版时间 | 2017-05-01 |
| 页数 | 295页 |
| 分类 | 计算机/网络 |
| 价格 | 定价: ¥69.0 |
图书特色
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过Python编程,我们能够解决现实生活中的很多任务。 本书通过14个有趣的项目,帮助和鼓励读者探索Python编程的世界。全书共14章,分别介绍了通过Python编程实现的一些有趣项目,包括解析iTunes播放列表、模拟人工生命、创建ASCII码艺术图、照片拼接、生成三维立体图、创建粒子模拟的烟花喷泉效果、实现立体光线投射算法,以及用Python结合Arduino和树莓派等硬件的电子项目。本书并不介绍Python语言的基础知识,而是通过一系列不简单的项目,展示如何用Python来解决各种实际问题,以及如何使用一些流行的Python库。 本书适合那些想要通过Python编程来进行尝试和探索的读者,适合了解基本的Python语法和基本的编程概念的读者进一步学习,对于Python程序员有一定的启发和参考价值。
内容简介
Python 是一种强大的编程语言,容易学习而且充满乐趣。但掌握了基本知识后,接下来做什么?
本书包含了一组富有想象力的编程项目,它们将引导你用Python 来制作图像和音乐、模拟现实世界的现象,并与
Arduino 和树莓派这样的硬件进行交互。你将学习使用常见的Python 工具和库,如numpy、matplotlib 和pygame,
来完成以下工作:
● 利用参数方程和turtle模块生成万花尺图案;
● 通过模拟频率泛音在计算机上创作音乐;
● 将图形图像转换为ASCII文本图形;
● 编写一个三维立体画程序,生成隐藏在*图案下的3D图像;
● 通过探索粒子系统、透明度和广告牌技术,利用OpenGL着色器制作逼真的动画;
● 利用来自CT和MRI扫描的数据实现3D可视化;
● 将计算机连接到Arduino编程,创建响应音乐的激光秀。
通过本书,你可以享受作为极客的真正乐趣!
目录
- Python极客项目编程 目录
- 第1章 解析iTunes播放列表 31.1 iTunes播放列表文件剖析 31.2 所需模块 51.3 代码 51.3.1 查找重复 51.3.2 提取重复 61.3.3 查找多个播放列表中共同的音轨 71.3.4 收集统计信息 81.3.5 绘制数据 81.3.6 命令行选项 91.4 完整代码 101.5 运行程序 131.6 小结 141.7 实验 14第2章 万花尺 152.1 参数方程 162.1.1 万花尺方程 172.1.2 海龟画图 192.2 所需模块 202.3 代码 202.3.1 Spiro构造函数 202.3.2 设置函数 212.3.3 restart()方法 212.3.4 draw()方法 222.3.5 创建动画 222.3.5 SpiroAnimator类 232.3.5 genRandomParams()方法 242.3.6 重新启动程序 242.3.7 update()方法 252.3.8 显示或隐藏光标 252.3.9 保存曲线 252.3.10 解析命令行参数和初始化 262.4 完整代码 272.5 运行万花尺动画 322.6 小结 332.7 实验 33第二部分 模拟生命第3章 Conway生命游戏 373.1 工作原理 383.2 所需模块 393.3 代码 403.3.1 表示网格 403.3.2 初始条件 413.3.3 边界条件 413.3.4 实现规则 423.3.5 向程序发送命令行参数 433.3.6 初始化模拟 433.4 完整代码 443.5 运行模拟人生的游戏 463.6 小结 473.7 实验 47第4章 用Karplus-Strong算法产生音乐泛音 494.1 工作原理 514.1.1 模拟 514.1.2 创建WAV文件 524.1.3 小调五声音阶 534.2 所需模块 544.3 代码 544.3.1 用deque实现环形缓冲区 544.3.2 实现Karplus-Strong算法 554.3.3 写WAV文件 564.3.4 用pygame播放WAV文件 564.3.5 main()方法 574.4 完整代码 584.5 运行拨弦模拟 614.6 小结 624.7 实验 62第5章 类鸟群:仿真鸟群 635.1 工作原理 645.2 所需模块 645.3 代码 645.3.1 计算类鸟群的位置和速度 655.3.2 设置边界条件 665.3.3 绘制类鸟群 675.3.4 应用类鸟群规则 685.3.5 添加个体 705.3.6 驱散类鸟群 715.3.7 命令行参数 715.3.8 Boids类 715.4 完整代码 725.5 运行类鸟群模拟 755.6 小结 765.7 实验 76第三部分 图片之乐第6章 ASCII文本图形 796.1 工作原理 806.2 所需模块 816.3 代码 816.3.1 定义灰度等级和网格 826.3.2 计算平均亮度 826.3.3 从图像生成ASCII内容 836.3.4 命令行选项 846.3.5 将ASCII文本图形字符串写入文本文件 846.4 完整代码 856.5 运行ASCII文本图形生成程序 876.6 小结 876.7 实验 88第7章 照片马赛克 897.1 工作原理 907.1.1 分割目标图像 907.1.2 平均颜色值 917.1.3 匹配图像 917.2 所需模块 927.3 代码 927.3.1 读入小块图像 927.3.2 计算输入图像的平均颜色值 937.3.3 将目标图像分割成网格 937.3.4 寻找小块的*佳匹配 947.3.5 创建图像网格 957.3.6 创建照片马赛克 967.3.7 添加命令行选项 977.3.8 控制照片马赛克的大小 977.4 完整代码 987.6 运行照片马赛克生成程序 1027.7 小结 1037.7 实验 103第8章 三维立体画 1058.1 工作原理 1068.1.1 感知三维立体画中的深度 1068.1.2 深度图 1088.2 所需模块 1098.3 代码 1098.3.1 重复给定的平铺图像 1098.3.2 从创建随机圆平铺 1108.3.3 创建三维立体画 1118.3.4 命令行选项 1128.4 完整代码 1138.5 运行三维立体画生成程序 1158.6 小结 1178.7 实验 117第四部分 走进三维第9章 理解OpenGL 1219.1 老式OpenGL 1229.2 现代OpenGL:三维图形管线 1249.2.1 几何图元 1249.2.2 三维变换 1259.2.3 着色器 1279.2.4 顶点缓冲区 1289.2.5 纹理贴图 1299.2.6 显示OpenGL 1299.3 所需模块 1309.4 代码 1309.4.1 创建OpenGL窗口 1309.4.2 设置回调 1319.4.3 Scene类 1339.5 完整代码 1379.6 运行OpenGL应用程序 1429.7 小结 1439.8 实验 143第10章 粒子系统 14510.1 工作原理 14610.1.1 为粒子运动建模 14710.1.2 设置*大范围 14710.1.3 渲染粒子 14910.1.4 利用OpenGL混合来创建更逼真火花 14910.1.5 使用公告板 15010.1.6 生成火花动画 15110.2 所需模块 15110.3 粒子系统的代码 15110.3.1 定义粒子的几何形状 15210.3.2 为粒子定义时间延迟数组 15310.3.3 设置粒子初始速度 15310.3.4 创建顶点着色器 15410.3.5 创建片段着色器 15610.3.6 渲染 15610.3.7 Camera类 15810.4 粒子系统完整代码 15810.5 盒子代码 16410.6 主程序代码 16610.6.1 每步更新这些粒子 16710.6.2 键盘处理程序 16810.6.3 管理主程序循环 16810.7 完整主程序代码 16910.8 运行程序 17210.9 小结 17210.10 实验 172第11章 体渲染 17311.1 工作原理 17411.1.1 数据格式 17411.1.2 生成光线 17511.1.3 显示OpenGL窗口 17711.2 所需模块 17811.3 项目代码概述 17811.4 生成三维纹理 17811.5 完整的三维纹理代码 18011.6 生成光线 18111.6.1 定义颜色立方体的几何形状 18211.6.2 创建帧缓冲区对象 18411.6.3 渲染立方体的背面 18511.6.4 渲染立方体的正面 18511.6.5 渲染整个立方体 18611.6.6 调整大小处理程序 18711.7 完整的光线生成代码 18711.8 体光线投射 19211.8.1 顶点着色器 19411.8.2 片段着色器 19411.9 完整的体光线投射代码 19611.10 二维切片 19911.10.1 顶点着色器 20111.10.2 片段着色器 20211.10.3 针对二维切片的用户界面 20211.11 完整的二维切片代码 20311.12 代码整合 20611.13 完整的主文件代码 20711.14 运行程序 20911.15 小结 21011.16 实验 210第五部分 玩硬件第12章 Arduino简介 21512.1 Arduino 21612.2 Arduino生态系统 21712.2.1 语言 21812.2.2 IDE 21812.2.3 社区 21812.2.4 外设 21912.3 所需模块 21912.4 搭建感光电路 21912.4.1 电路工作原理 21912.4.2 Arduino程序 22012.4.3 创建实时图表 22112.5 Python代码 22212.6 完整的Python代码 22412.7 运行程序 22612.8 小结 22712.9 实验 227第13章 激光音乐秀 22913.1 用激光产生图案 23013.1.1 电机控制 23013.1.2 快速傅里叶变换 23213.2 所需模块 23313.2.1 搭建激光秀 23413.2.2 连接电机驱动器 23613.3 Arduino程序 23713.3.1 配置Arduino数字输出引脚 23813.3.2 主循环 23813.3.3 停止电机 24013.4 Python代码 24013.4.1 选择音频设备 24113.4.2 从输入设备读取数据 24113.4.3 计算数据流的FFT 24213.4.4 从FFT值提取频率信息 24313.4.5 将频率转换为电机速度和方向 24313.4.6 测试电机设置 24413.4.7 命令行选项 24513.4.8 手动测试 24513.5 完整的Python代码 24613.6 运行程序 24913.7 小结 25013.8 实验 250第14章 基于树莓派的天气监控器 25314.1 硬件 25414.1.1 DHT11温湿度传感器 25414.1.2 树莓派 25514.1.3 设置树莓派 25514.2 安装和配置软件 25614.2.1 操作系统 25714.2.2 初始配置 25714.2.3 Wifi设置 25714.2.4 设置编程环境 25814.2.5 通过SSH连接 25914.2.6 Web框架Bottle 25914.2.7 用flot绘制 26014.2.8 关闭树莓派 26114.3 搭建硬件 26214.4 代码 26314.4.1 处理传感器数据请求 26414.4.2 绘制数据 26414.4.3 update()方法 26714.4.4 用于LED的JavaScript处理程序 26714.4.5 添加交互性 26814.5 完整代码 26914.6 运行程序 27214.7 小结 27314.8 实验 273附录A 软件安装 275附录B 基础实用电子学 281附录C 树莓派的建议和技巧 289
- 展开全部
用户评价 (共1条)
读者:ken*** ★★★★☆
主题:刚收到,正在看:此书列出了几个用python最新库做的项目,值得一看
- 多彩物品-宝宝全彩启蒙书(胡建)
- 我要做好孩子-导读版(黄蓓佳)
- 床头灯英语・5000词读物(英汉对照):罗马故事((希腊)普卢塔克)
- 财务管理(袁建国,周丽媛)
- 九年级+中考-快捷英语周周练-完形填空(石骥)
- 绘・童年:梦幻柏树街 (精装绘本)(著名儿童文学作家“阳光姐姐”伍美珍绘本处女作)(伍美珍)
- 伍尔夫作品集夜与日(上下)((英)弗吉尼亚・伍尔夫)
- 我有浦草(王加婷)
