发表于2024-11-23
游戏开发的数学和物理 pdf epub mobi txt 电子书 下载
告诉你,让游戏逼真、流畅的秘密
42个编程实例,打通游戏开发的任督二脉
134张图解,清晰讲解游戏编程五大基本实现
物体的运动 卷动 碰撞检测 光线的制作 画面切换
如何做出火山喷发似的酷炫效果?
各种形状的物体的碰撞测试是如何实现的?
怎样精准模拟重力作用下的运动轨迹?
怎样实现追踪目标物体并可弯曲的激光?
《游戏开发的数学和物理》严格选取了游戏开发中最常用的数学和物理学知识,通过游戏开发实例,配上丰富的插图,以从易到难的顺序进行讲解。第1章到第5章分别讲解了物体的运动、卷动、碰撞检测、光线的制作、画面切换的细分处理。这五章将2D游戏必需的知识一网打尽,同时还严格挑选了少量3D游戏编程的基础内容以供参考。第6章系统梳理了游戏开发的数学和物理学理论,帮助读者更好地理解前五章的内容。
《游戏开发的数学和物理》适合网络和手机游戏开发者阅读。
加藤洁,毕业于东京理科大学物理专业,后转攻信息科学。现任教于AmusementMedia综合学院,主讲游戏数学和3D程序开发。近年来随着游戏开发所需的技术水平越来越高,主张让高中毕业的游戏开发者也能习得这些高深的技巧。日常致力于教育方法的研究工作,希望以简单有效的方式讲解门槛较高的理科知识。著有《PC-9801PROGRAMMERSBible》(合著,技术评论社,1994)。
徐谦(本书译者),7年技术开发及项目经验,曾以技术工程师身份赴日本工作两年,后归国联合创办互联网公司,现居上海继续创业中。侧重Web开发,有若干高并发、实时Web系统的分布式解决案例。热爱开源,曾向多个知名开源项目贡献代码,在Github开源的个人项目获得广泛认可。乐于分享技术心得。
第1章 物体的运动
1.1 让物体沿水平方向运动 【匀速直线运动、x+=v;、 v = -v】
1.2 通过键盘控制物体的运动 【键盘输入、斜方向移动、勾股定理】
1.3 让物体沿任意方向运动 【三角函数、正弦、余弦、弧度】
1.4 在物体运动中加入重力 【抛物运动、重力加速度、计算误差、积分】
1.5 物体随机飞溅运动 【随机数、均匀随机数、正态分布】
1.6 让物体进行圆周运动 【角速度、向心力】
1.7 [ 进阶] 微分方程式及其数值解法 【微分方程、数值解法、欧拉法】
第2章 卷动
2.1 将背景从一端卷动到另一端 【镜头位置、卷动幅度、比例关系】
2.2 让背景卷动与角色的运动产生联动 【区域坐标、画面坐标】
2.3 卷动由地图块组合的地图 【地图、地图块、整数的减法、移位运算、逻辑运算】
2.4 波纹式的摇摆卷动 【波纹扭曲、正弦波、波长、振幅、周期】
2.5 制作有纵深感的卷动 【透视、比例计算、梯形】
2.6 [ 进阶] 透视理论 【视景体、近似】
第3章 碰撞检测
3.1 长方形物体间的碰撞检测 【矩形、德摩根定律】
3.2 圆形与圆形、圆形与长方形物体间的碰撞检测 【距离、勾股定理、平方比较】
3.3 细长形物体与圆形物体间的碰撞检测 【点与线段的距离、内积、微分】
3.4 扇形物体的碰撞检测 【条件划分、向量的运算、向量的内分点、圆的方程式】
3.5 [ 进阶] 3D的碰撞检测 【2D、3D、维度扩展】
第4章 光线的制作
4.1 让物体向任意方向旋转(含缩放效果) 【旋转、基向量、向量加法、向量减法】
4.2 任意两点间的光线投射 【向量长度、单位向量】
4.3 光线弯曲处理 【圆形、圆周长、伪影】
4.4 实现带追踪效果的激光 【左右判定、外积、旋转速度】
4.5 [ 进阶] 绘制大幅度弯曲的曲线时的难点 【曲率、曲线的粗细、插值曲线、反射】
第5章 画面切换效果
5.1 水平扫描式画面切换 【三角多边形、纹理素材、uv坐标】
5.2 斜向扫描式画面切换 【向量形式的直线、剪裁】
5.3 使用带模糊效果的分界线进行画面切换 【渐变、Alpha 合成】
5.4 使用圆形进行画面切换 【避免重复渲染、环形、a值】
5.5 雨刷式画面切换 【避免条件分支】
5.6 [ 进阶] 多种多样的画面切换方法 【遮罩图案、可编程着色器、高斯滤波器】
第6章 游戏开发的数学和物理学基础理论
6.1 比例、一次函数及直线方程 【比例系数、斜率、截距、参数方程】
6.2 算式展开与因式分解 【计算优先级、分配律】
6.3 二次函数、二次方程与抛物线 ? 圆 【完全平方、求根公式、圆锥曲线】
6.4 三角函数 【直角三角形、单位园、弧度、相位】
6.5 向量与矩阵 【长度、方向、一次变换、逆变换】
6.6 微分 【变化率、微分系数、极限、合成函数】
6.7 级数与积分 【数列、西格玛、原函数、不定积分、积分常数】
附 录 示例程序的编译及运行方法
--基于Visual Studio 2013、Visual Studio 2012、Visual Studio
这是一本通过游戏开发实例,讲解数学与物理知识的书。数学与物理,两者都是游戏开发中不可或缺的。然而在实际的游戏制作中,并不能像在学校的物理数学课上那样,不管三七二十一先背下一堆可能用得着的公式或解题技巧。真正的游戏开发,总是先遇到一个需要实现的需求,然后再在寻求实现方法的过程中,去学习必要的数学和物理知识,即“先有需求,再掌握实现需求的工具”。对于普通人来说,想必这样的学习模式才是更加自然并有效的吧。
自古以来,数学都是伴随着一些颇具实用性的目的产生并发展起来的。例如在古代,建筑中必须要测算距离或长度,赋税或商业活动中必须计算款项、面积、体积等,数学正是在这些现实需求中一步步发展起来的。而物理学的初衷也是用算式这种客观的语言来描述身边发生的现象,同样起源于非常实际的需求。因此,从某种意义上来说,“先有需求,再去掌握实现需求的工具”这种学习模式,正是顺应整个数学和物理发展过程的最自然的方式。
时至今日,数学和物理已经经历过无数才华横溢的先人的反复锤炼,称它们为集合了人类智慧的瑰宝也不为过,它们共同支撑起了现代的科学技术,当然也是游戏以及计算机行业的基石。但是我们在学习这样的智慧瑰宝时,却往往不明白数学和物理究竟有什么作用,只是像背诵咒语一样强行记下公式,甚至也有不少人对其感到厌恶。其实人的本性确实如此,假如不是对某样事物抱有兴趣,或者迫于外部压力,是很难认真地自觉学习的。即便数学和物理是人类智慧的瑰宝,但如果在连它们能做什么都不了解的情况下去勉强学习,那也是违背人类本性的,学习起来自然也就倍感艰难了。
本书以编程为题材,每一章节都会先提出一个需要解决的实际问题,然后针对问题通过公式和必要的理论知识讲解解决方法。为了让这样的学习模式更加有效,书中所提出的问题应当是真正实用的,才容易让读者产生兴趣,因此本书所涉及的问题严格选取了实际2D游戏编程中不可缺少的技术。而本着尽量生动有趣的原则,在编撰人员的努力下,解决问题的示例程序都采用了与实际游戏同样的图片素材。希望广大读者朋友可以籍由本书更加自然地走进门槛不低的数学和物理世界。
本书大致可以有两种阅读方法。方法一,通过解决问题的实际案例入门(第1章~第5章),掌握必要的数学、物理知识。这种阅读方法适合所有想编写游戏程序的读者。针对这部分读者,本书涵盖了2D游戏开发中所涉及的几乎所有的必要知识。而对于想要开发3D游戏的读者,也建议不要一下跳跃到3D,先以本书所涉及的2D知识为基础开始学习会更加容易入门。另一种阅读方法是,从本书的理论部分(第6章)开始,先了解本书所涉及的数学、物理公式在实际生活中究竟有什么作用。推荐那些在中学、大学里不得不学习理科,却又不知道学习理科有什么用的同学们采用这种阅读方法。我本人作为一名游戏学校的讲师,一直在帮助学生将中学、大学里的教育成果转变为游戏公司的实际生产力,充当着桥梁的作用,因此如果本书能对中学生、大学生的理科教育有一点帮助的话,对我来说将是意外的惊喜。
在阅读本书时请注意,为了简化理论知识以外的部分,本书中的示例代码可能会违背一些代码编写的基本规范。特别是类似将vx这样的短变量名作为全局变量的做法,在真正编程时千万不要去模仿。
最后,对给予我执笔机会,并对内容等方面提供巨大帮助的小川史晃编辑及翔泳社的诸位,对邀请我写作并协助策划的AmusementMedia综合学院的猪狩贤一郎先生,以及对本书文字提出很多建议的学院剧本专业的老师们,一并表示深深的感谢。
2013年11月
加藤洁
看目录觉得是好书,还没开始看,准备看完回来再评
评分书包装是完整的,还没来得及看,不错
评分opengl的就更好了 还没细看 但愿没有平台限制
评分没啥好说的 正常用没啥好说的 正常用
评分不错不错的服务!不错不错的服务!
评分甚好,内容很适合我,对学习动画相关的算法很有帮助
评分精灵运动提供了很强大的算法很不错
评分好好学习天天向上吧!
评分虽然是日本人写的,中国引进翻译的一本关于讲述历代厂商游戏机发展历史,类似小说似的书籍,篇幅也不厚,但是内容确实从70年代,开始一批人到现今依旧热爱游戏的人们的一部“儿时回忆史”,读起来满满都是回忆,都是泪水……
游戏开发的数学和物理 pdf epub mobi txt 电子书 下载