• 代码本色:用编程模拟自然系统
21年品牌 40万+商家 超1.5亿件商品

代码本色:用编程模拟自然系统

①一般下午5点前订单,当日发货,开发票联系客服②教材,学习,考试类书默认有笔记(或做过)③其他类书一般无笔记,提前与客服沟通好再下单,否则本店不承担责任)④部分图书籍采用标准图片,可能存在不同印次不同封面,内容一致⑤出版时间过长的书都可能有自然发黄现象。

20.13 2.0折 99 九品

仅1件

天津宝坻
认证卖家担保交易快速发货售后保障

作者Daniel Shiffman

出版社人民邮电出版社

ISBN9787115369475

出版时间2014-10

装帧平装

开本16开

定价99元

货号972073392218423304

上书时间2024-11-12

休闲图书吧

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
商品描述
前言
  这是一本什么书

  我在ITP教授一门名为“计算媒体导论”的课。在这门课中,学生主要学习一些编程基础知识(变量、条件语句、循环、对象和数组等)。除此之外,他们还学习如何使用基本元素(图像、像素、计算机视觉、组网、数据和3D等)开发交互式应用。课程内容以我之前写的入门书Learning Processing为主,而本书是Learning Processing的续篇。一旦你掌握了编程基础并且接触了形形色色的应用场景,接下来很可能就是深入研究某个特定的方向。举个例子,你可以专注于计算机视觉(比如阅读Greg Borenstein写的Making Things See等书)。当然,本书的内容只是众多发展方向之一,它只是延续了Learning Processing,展示了Processing语言在算法和模拟方面的更高级编程技术。

  本书的目标非常简单:我们想看看真实世界中发生的各种自然现象,以及如何通过编程对它们进行模拟。

  那这到底是一本什么样的书?这是不是一本有关科学的书?我可以很肯定地回答:不是。事实上,我们确实会涉及物理学和生物学的个别话题,但不会从严谨的学术层面进行研究,因为这不在本书讲述范围之内。相反,我们会简单探讨某些科学原理,只攫取我们需要的那一部分内容,并根据它们构建相关的示例程序。

  那这是不是一本有关艺术或设计的书呢?我还是会回答:不是。尽管我们的工作结果都是视觉上可见的事物(用Processing开发的演示动画),但也仅仅是用简单的图形和色彩做出的演示,我们真正专注的是它们背后的算法和相关编程技术。然而,我还是希望艺术工作者和设计师们能将本书中的知识融入工作实践,创造一些真正新颖有趣的作品。

  如果非要给这本书归类,我觉得它只是一本普普通通的编程书。尽管书中的一些章节取材自科学原理(比如牛顿物理学、细胞生长、进化等),而且一些编程结果会激发艺术创作的灵感,但归根结底本书重心是代码的实现,尤其是其中的面向对象编程技术。

  关于Processing语言

  本书使用Processing语言,原因有很多。第一,它是我用着最舒服的编程语言和开发环境,我很喜欢用它来工作;第二,它是免费开源的,并且非常适合初学者,它的开发者社区很活跃。对很多人来说,Processing或许是他们学习的第一门编程语言。因此,我希望这本书能拥有广泛的受众,并希望通过Processing用一种友好的方式阐述其中的原理。

  本书中所写的例子并不严格限定于Processing语言,我们还可以用ActionScript、JavaScript、Java(脱离Processing开发环境),或是其他开源的“创意编程”开发环境,比如openFrameworks、Cinder,以及最近发布的pocode。我希望自己完成这本书之后,能将本书中的例子移植到其他开发环境中,并发布其他语言的示例程序。如果你对移植本书的示例程序感兴趣,请随时联系我(daniel@ shiffman.net)。

  本书中的所有示例都已在Processing 2.0b6版本上测试通过,大部分例子也兼容早期版本。我会时常更新这些示例,使它们兼容最新版本。

  ……

导语摘要
  《代码本色(用编程模拟自然系统)》介绍了用计算机模拟自然系统涉及的编程策略与技术,涵盖了基本的数学和物理概念,以及可视化地展示模拟结果所需的高级算法。读者将从构建基本的物理引擎开始,一步一步地学习如何创建智能移动的物体和复杂的系统,为进一步探索生成设计奠定基础。相关的知识点包括力、三角、分形、细胞自动机、自组织和遗传算法。本书的示例使用基于Java的开源语言及开发环境Processing编写。本书网站(http://www.natureofcode.com)上的示例是在浏览器中通过Processing的JavaScript模式运行的。
作为纽约大学Tisch艺术学院NatureofCode课程主讲老师,DanielShiffman(希夫曼)集合了多年开发和教学经验,希望借由此书让大家真正了解如何用代码模拟自然现象。

作者简介
  Daniel Shiffman,纽约大学Tisch艺术学院助理艺术教授,Nature of Code便是其主讲课程之一。多年来,他一直用Processing这门艺术家友好型开源语言开发教程、教学示例和代码库,拥有丰富的算法和应用教学经验。另外,其著作Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction亦广受读者好评。

目录
第0章 引言

0.1 随机游走

0.2 随机游走类

0.3 概率和非均匀分布

0.4 随机数的正态分布

0.5 自定义分布的随机数

0.6 Perlin噪声(一种更平滑的算法)

0.6.1 映射噪声

0.6.2 二维噪声

0.7 前进

第1章 向量

1.1 向量

1.2 Processing中的向量

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.1 Box2D及其适用性

5.2 获取Processing中的Box2D

5.3 Box2D基础

5.3.1 SETUP

5.3.2 DRAW

5.3.3 Box2D世界的核心元素

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.7 Box2D和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.11 Box2D关节

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.15 toxiclibs的Verlet Physics物理库

5.15.1 获取toxiclibs

5.15.2 VerletPhysics的核心元素

5.15.3 toxiclibs中的向量

5.15.4 构建toxiclibs的物理世界

5.16 toxiclibs中的粒子和弹簧

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.5 Wolfram分类

7.6 生命游戏

7.7 编写生命游戏

7.8 面向对象的细胞实现

7.9 传统CA的变化

第8章 分形

8.1 什么是分形

8.2 递归

8.3 用递归函数实现康托尔集

8.4 科赫曲线和ArrayList技术

8.5 树

8.6 L系统

第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 结语

参考文献

索引

内容摘要
  《代码本色:用编程模拟自然系统》由纽约大学Nature of Code课程老师Daniel Shiffman写就,是一本借助开源语言Processing全面介绍如何用代码模拟自然世界的学习指南。作者从模拟生命物体、活物、智能系统三个层面,从手工编写Processing代码到使用现有的物理函数库模拟高级而复杂的行为,利用有趣的事例渐进式介绍了算法和模拟方面的高级编程策略和技术。主要内容涉及向量、力、粒子系统、三角函数、自治智能体、细胞自动机、分形、遗传算法和人工神经网络。

  《代码本色:用编程模拟自然系统》适合游戏设计师、好学的程序员、物理学爱好者及所有对计算机模拟和互动编程感兴趣的人学习参考。

主编推荐
  怎么通过软件捕捉自然界难以捉摸的演进和突变?

  理解物理世界背后的数学原理对我们创造数字世界有多大帮助?

  本书介绍了用计算机模拟自然系统涉及的编程策略与技术,涵盖了基本的数学和物理概念,以及可视化地展示模拟结果所需的高级算法。读者将从构建基本的物理引擎开始,一步一步地学习如何创建智能移动的物体和复杂的系统,为进一步探索生成设计奠定基础。相关的知识点包括力、三角、分形、细胞自动机、自组织和遗传算法。本书的示例使用基于Java的开源语言及开发环境Processing编写。

  作为纽约大学Tisch艺术学院Nature of Code课程主讲老师,Daniel集合了多年开发和教学经验,希望借由此书让大家真正了解如何用代码模拟自然现象。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP