代码本色:用编程模拟自然系统
正版图书带塑封 当天发货 9969488285996941313
¥
17.75
1.8折
¥
99
九五品
仅1件
作者[美]Daniel Shiffman 著;周晗彬 译
出版社人民邮电出版社
出版时间2014-11
版次1
装帧平装
货号9969488285996941313
上书时间2024-12-20
商品详情
- 品相描述:九五品
图书标准信息
-
作者
[美]Daniel Shiffman 著;周晗彬 译
-
出版社
人民邮电出版社
-
出版时间
2014-11
-
版次
1
-
ISBN
9787115369475
-
定价
99.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
406页
-
字数
653千字
-
正文语种
简体中文
-
原版书名
The Nature of Code: Simulating Natural Systems with Processing
-
丛书
图灵程序设计丛书
- 【内容简介】
-
《代码本色:用编程模拟自然系统》由纽约大学NatureofCode课程老师DanielShiffman写就,是一本借助开源语言Processing全面介绍如何用代码模拟自然世界的学习指南。作者从模拟生命物体、活物、智能系统三个层面,从手工编写Processing代码到使用现有的物理函数库模拟高级而复杂的行为,利用有趣的事例渐进式介绍了算法和模拟方面的高级编程策略和技术。主要内容涉及向量、力、粒子系统、三角函数、自治智能体、细胞自动机、分形、遗传算法和人工神经网络。
《代码本色:用编程模拟自然系统》适合游戏设计师、好学的程序员、物理学爱好者及所有对计算机模拟和互动编程感兴趣的人学习参考。
- 【作者简介】
-
DanielShiffman,纽约大学Tisch艺术学院助理艺术教授,NatureofCode便是其主讲课程之一。多年来,他一直用Processing这门艺术家友好型开源语言开发教程、教学示例和代码库,拥有丰富的算法和应用教学经验。另外,其著作LearningProcessing:ABeginner'sGuidetoProgrammingImages,Animation,andInteraction亦广受读者好评。
- 【目录】
-
第0章引言
0.1随机游走
0.2随机游走类
0.3概率和非均匀分布
0.4随机数的正态分布
0.5自定义分布的随机数
0.6Perlin噪声(一种更平滑的算法)
0.6.1映射噪声
0.6.2二维噪声
0.7前进
第1章向量
1.1向量
1.2Processing中的向量
1.3向量的加法
1.4更多的向量运算
1.4.1向量的减法
1.4.2向量加减法的运算律
1.4.3向量的乘法
1.4.4更多的向量运算律
1.5向量的长度
1.6单位化向量
1.7向量的运动:速度
1.8向量的运动:加速度
1.9静态函数和非静态函数
1.10加速度的交互
第2章力
2.1力和牛顿运动定律
2.1.1牛顿第一运动定律
2.1.2牛顿第三运动定律
2.1.3牛顿第三运动定律(从Processing的角度表述)
2.2力和Processing的结合:将牛顿第二运动定律作为一个函数
2.3力的累加
2.4处理质量
2.5制造外力
2.6地球引力和力的建模
2.7摩擦力
2.8空气和流体阻力
2.9引力
2.10万有引(斥)力
第3章振荡
3.1角度
3.2角运动
3.3三角函数
3.4指向运动的方向
3.5极坐标系和笛卡儿坐标系
3.6振荡振幅和周期
3.7带有角速度的振荡
3.8波
3.9三角函数和力:钟摆
3.10弹力
第4章粒子系统
4.1为什么需要粒子系统
4.2单个粒子
4.3使用ArrayList
4.4粒子系统类
4.5由系统组成的系统
4.6继承和多态的简介
4.7继承基础
4.8用继承实现粒子类
4.9多态基础
4.10用多态实现粒子系统
4.11受力作用的粒子系统
4.12带排斥对象的粒子系统
4.13图像纹理和加法混合
第5章物理函数库
5.1Box2D及其适用性
5.2获取Processing中的Box2D
5.3Box2D基础
5.3.1SETUP
5.3.2DRAW
5.3.3Box2D世界的核心元素
5.4生活在Box2D的世界
5.5创建一个Box2D物体
5.5.1第1步:定义一个物体
5.5.2第2步:设置物体的定义
5.5.3第3步:创建物体
5.5.4第4步:为物体的初始状态设置其他属性
5.6三要素:物体、形状和夹具
5.6.1第1步:定义形状
5.6.2第2步:创建夹具
5.6.3第3步:用夹具将形状连接到物体上
5.7Box2D和Processing的结合
5.7.1第1步:在主程序(即setup()和draw()函数)中添加Box2D
5.7.2第2步:建立Processing盒子对象和Box2D物体对象之间的联系
5.8固定的Box2D对象
5.9弯曲的边界
5.9.1第1步:定义一个物体
5.9.2第2步:定义形状
5.9.3第3步:配置形状
5.9.4第4步:使用夹具将形状连接到物体上
5.10复杂的形状
5.11Box2D关节
5.11.1步骤1:确保有两个物体
5.11.2步骤2:定义关节
5.11.3步骤3:配置关节的属性
5.11.4步骤4:创建关节
5.12回到力的话题
5.13碰撞事件
5.13.1步骤1:Contact对象,你能否告诉我哪两个物体发生了碰撞
5.13.2步骤2:夹具对象,你能否告诉我你连接在哪个物体上
5.13.3步骤3:物体,你能否告诉我你连接在哪个粒子对象上
5.14小插曲:积分法
5.15toxiclibs的VerletPhysics物理库
5.15.1获取toxiclibs
5.15.2VerletPhysics的核心元素
5.15.3toxiclibs中的向量
5.15.4构建toxiclibs的物理世界
5.16toxiclibs中的粒子和弹簧
5.17整合代码:一个简单的交互式弹簧
5.18相连的系统I:绳子
5.19相连的系统II:力导向图
5.20吸引和排斥行为
第6章自治智能体
6.1内部的力
6.2车辆和转向
6.3转向力
6.4到达行为
6.5你的意图:所需速度
6.6流场
6.7点乘
6.8路径跟随
6.9多段路径跟随
6.10复杂系统
6.11群体行为(不要碰到对方)
6.12结合
6.13群集
6.14算法效率(为什么程序跑得这么慢)
6.15最后的几个注意事项:优化技巧
6.15.1长度的平方(或距离的平方)
6.15.2正弦余弦查询表
6.15.3创建不必要的PVector对象
第7章细胞自动机
7.1什么是细胞自动机
7.2初等细胞自动机
7.3如何编写初等细胞自动机
7.4绘制初等CA
7.5Wolfram分类
7.6生命游戏
7.7编写生命游戏
7.8面向对象的细胞实现
7.9传统CA的变化
第8章分形
8.1什么是分形
8.2递归
8.3用递归函数实现康托尔集
8.4科赫曲线和ArrayList技术
8.5树
8.6L系统
第9章代码的进化
9.1遗传算法:启发自真实现象
9.2为什么使用遗传算法
9.3达尔文的自然选择
9.4遗传算法,第一部分:创建种群
9.5遗传算法,第二部分:选择
9.6遗传算法,第三部分:繁殖
9.7创建种群的代码
9.7.1第1步:初始化种群
9.7.2第2步:选择
9.7.3第3步:繁殖
9.8遗传算法:整合代码
9.9遗传算法:创建自己的遗传算法
9.9.1第1点:更改变量
9.9.2第2点:适应度函数
9.9.3第3点:基因型和表现型
9.10力的进化:智能火箭
9.11智能火箭:整合代码
9.12交互式选择
9.13生态系统模拟
9.13.1基因型和表现型
9.13.2选择和繁殖
第10章神经网络
10.1人工神经网络:导论和应用
10.2感知器
10.3用感知器进行简单的模式识别
10.4实现感知器
10.5转向感知器
10.6还记得这是个"网络"吗
10.7神经网络图
10.8实现前馈动画
10.9结语
参考文献
索引
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价