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

代码本色:用编程模拟自然系统
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] ,
2014-11
版次: 1
ISBN: 9787115369475
定价: 99.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 406页
字数: 653千字
正文语种: 简体中文
原版书名: The Nature of Code: Simulating Natural Systems with Processing
137人买过
  •   《代码本色:用编程模拟自然系统》由纽约大学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结语
    参考文献
    索引
  • 内容简介:
      《代码本色:用编程模拟自然系统》由纽约大学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结语
    参考文献
    索引
查看详情
其他版本 / 全部 (1)
系列丛书 / 更多
代码本色:用编程模拟自然系统
机器学习实战
[美]Peter Harrington 著;李锐、李鹏、曲亚东 译
代码本色:用编程模拟自然系统
图灵程序设计丛书:Python基础教程
[挪威]Magnus Lie Hetland 著;司维、曾军崴、谭颖华 译
代码本色:用编程模拟自然系统
Python编程:从入门到实践
[美]埃里克·马瑟斯(Eric Matthes) 著;袁国忠 译
代码本色:用编程模拟自然系统
JavaScript高级程序设计(第3版)
[美]Nicholas C.Zakas 著;李松峰、曹力 译
代码本色:用编程模拟自然系统
R语言实战(第2版)
[美]卡巴科弗(Robert I. Kabacoff) 著;王小宁、刘撷芯、黄俊文 译
代码本色:用编程模拟自然系统
算法(第4版)
[美]Robert、[美]Kevin Wayne 著;谢路云 译
代码本色:用编程模拟自然系统
大数据:互联网大规模数据挖掘与分布式处理
[美]Anand、[美]Jeffrey David Ullman 著;王斌 译
代码本色:用编程模拟自然系统
Spark快速大数据分析
[美]卡劳(Holden Karau)、[美]肯维尼斯科(Andy Konwinski)、[美]温德尔(Patrick Wendell)、[加拿大]扎哈里亚(Matei Zaharia) 著;王道远 译
代码本色:用编程模拟自然系统
MySQL必知必会
[英]福塔(Ben Forta) 著;刘晓霞、钟鸣 译
代码本色:用编程模拟自然系统
图解HTTP
[日]上野·宣 著;于均良 译
代码本色:用编程模拟自然系统
算法图解
袁国忠 译
代码本色:用编程模拟自然系统
Spring Boot实战
[美]克雷格·沃斯(Craig Walls) 著;丁雪丰 译
相关图书 / 更多
代码本色:用编程模拟自然系统
代码中的软件工程
孟宁
代码本色:用编程模拟自然系统
代码整洁之道 英文版
[美]罗伯特·C. 马丁(Robert C. Martin)
代码本色:用编程模拟自然系统
代码的艺术:用工程思维驱动软件开发(必读经典简装本)
章淼
代码本色:用编程模拟自然系统
代码审计与实操
胡前伟;时瑞鹏;李华风
代码本色:用编程模拟自然系统
代码随想录——跟着Carl学算法
孙秀洋
代码本色:用编程模拟自然系统
代码坏味检测方法研究及重构分析
姜德迅 编
代码本色:用编程模拟自然系统
代码安全实验指导(网络空间安全重点规划丛书)
杨东晓、章磊、吴迪、司乾伟 著
代码本色:用编程模拟自然系统
代码的艺术:用工程思维驱动软件开发
章淼
代码本色:用编程模拟自然系统
代码精进之路 从码农到工匠
张建飞
代码本色:用编程模拟自然系统
代码大全2(纪念版)
[美]史蒂夫.麦康奈尔(Steve McConnell)著 陈玉毅 陈军 杨志昂 洪佳 徐东伟 王国良 徐毅 译
代码本色:用编程模拟自然系统
代码整洁之道程序员的职业素养英文版
[美]罗伯特·C.、马丁(Robert、C.、Martin 著
代码本色:用编程模拟自然系统
代码大全2(英文限量珍藏版)
[美]史蒂夫·麦康奈尔(Steve McConnell) 著
您可能感兴趣 / 更多
代码本色:用编程模拟自然系统
归属感:如何通过社群获得商业竞争优势
[美]大卫·斯平克斯(David Spinks) 著;颉腾文化 出品
代码本色:用编程模拟自然系统
《城市的夜晚》2024百班千人暑期书目小学生1年级名师推荐全新正版现货速发
[美]朱莉·唐宁 著;冷玉斌 冷念则 译
代码本色:用编程模拟自然系统
雪花的故事(用照片展示雪花的秘密,为你揭开冬日奇景的奥秘)
[美]马克·卡西诺[美]乔恩·尼尔森
代码本色:用编程模拟自然系统
进阶书系-国际史的技艺
[美] 马克·特拉亨伯格
代码本色:用编程模拟自然系统
杜甫传
[美]弗洛伦斯.艾思柯
代码本色:用编程模拟自然系统
神奇的数字零:从数字0开始的极简数学史和人类发展史
[美]查尔斯·塞弗(Charles Seife)著 杨杨立汝 译
代码本色:用编程模拟自然系统
爵士乐史(精装本)
[美]泰德·乔亚 著
代码本色:用编程模拟自然系统
环境的科学 (平装版)
[美]威廉·坎宁安 后浪
代码本色:用编程模拟自然系统
美利坚在燃烧:20世纪60年代以来的警察暴力与黑人反抗
[美]伊丽莎白·欣顿 著 胡位钧 译
代码本色:用编程模拟自然系统
数学侦探 游乐园里的古怪笑脸
[美]丹尼尔·肯尼 艾米丽·博艾尔 著 刘玙婧、王婧 译;小博集出品
代码本色:用编程模拟自然系统
儒教中国及其现代命运(三部曲)
[美]列文森 作者;[中]季剑青 译者
代码本色:用编程模拟自然系统
逃家小兔成长绘本系列
[美]玛格丽特.怀兹.布朗