3D数学基础.pdf
游戏软件开发专家系列3D数学基础:图形与游戏开发(美) Fletcher Dunn著(美) an Arberry史银雪陈洪王荣静译北京递归开元教育科技有限公司审校清华大学出版社北京内容倚介木书主要研究隐藏在3D几何世界背后的数学问题。3D数学是一门与计算几何相关的学科,计算几何则是研究怎样用数值方法解决几何问题的学科。3D数学和计算几何广泛应用在那些使用计算机来模拟3D世界的领域,如图形学、游戏、仿贞、机器人技术、虚拟现实和劢画等木书涵盖了理论知识和C艹实现代码。烨论部分解释3D中数学和几何之间的关系,列出的技巧与公式可以当做参考手册以方便查找。实现部分演小了怎样用代码米实现这些理论概念。编程示例语言使用的是C++,实际上,本书的理论知识能遇过任何编程语言实现。D数学基础:图形与游戏开发3D Math Primer for Graphics and Game Development(ISBN 1-55622-911-9Fletcher du311, lan ParberCopyright c 2002 by Wordware Publishing, IncOriginal English Language Edition Copyright C 2002 by Wordwate Publishing, IncAll Rights reserved 2320 Los Rios Boulevard Plano, Texas 75074, U.S.A本书中文简体版由 Wordware Publishing,ne投权清华大学出版社出版。北京市版权局著作权合同登记号图字:01-2005-0657版权所有,翻印必究。举报电话:0r0-627829891350125667813801310933本书封面贴有清华大学出版社防伪标签,无标签者不得销本书防伪标签采用特殊防伪技术,用户可通过在图案表面涂抹清水,图案消失,水干后图案复现;或将表面膜揭下,放在白纸上用彩笔涂抹,图案在白纸上再现的方法识别真伪。图书在版编目CP)数据j数学基础:图形与游戏开发美)邓恩(Dum,F.),(关帕贝利( Arberry,⊥.)著:史银雪,陈洪王荣静译;北京递归奷元教育科技有限公司审校.一北京:清华大学出版社,20057〔游戏软件开发专家系列〕书名原文:3 D Math Primer for Graphics and Game DevelopmentSBN7-302-10946-XⅡ(邓…②帕…③史…④陈…⑤…⑥北…ⅠI、①三维一动画一图形软件②游戏应用程序一程斥设计Ⅳv④TP39141②G899中国版本图书馆C1P数据核之(2005)第042467号出版者:清华大学出版社地址t:北京清华大学学研人厦htp://ww.up.com.cn邮编:1084杜总机:062770175客户服务:010462776969文稿编辑:;张莉封面设计:陈刘源录排人员;房利萍印刷者:清华大学印刷装订者:三河市化甲屯小学装订「发行者;新华书店总店北京发行所开本:185×230印张:24.5宁数:530千字版次:2005年7月第]版2005年7月第次印刷书号:IsBN7-302-10946-X/TP·7262印数;1-40定价译者序计算机图形及游戏开发技术是一门与数学紧密相关的技术。正由于拥有强大的数学理论后盾,计算机模拟的虚拟世界才可以像今天这样逼真。数学在计算机图形及游戏开发占有重要的位置,将游戏数学单独进行讲解也成为需要本书着重讲解与计算机图形及游戏开发相关的数学知识,重点放在3D数学上。3D数是一门和计算几何相关俐学科,主要饼究怎样数值方法解决几何问题。3D数学利计算几何广泛应在图形及游戏开发领域中,如图形变换、物理仿等本书首先介绍基本的代数和儿何知识,其中包括向量、矩阵、四数、几何变换等相关内容;在此基础上,进一步介绍与计算机游戏开发相关的数学知识,其4包括几何图元的碰撞检测、三角形网格的实现、可见性判断等内容。由于本书是一本和计算机紧密结合的技术性书籍,肉此本书在对相数学知识进行讨论的同时,还给出相应的C+实现代码通过本书的学习,用户可以掌握计算机游戏开发中常用的数学方法及相关公式,并能为进一步学习高级开发技术打卜基础计算机图形及游戏数学是门复杂的学科,因此住进入木书的学习之前读者需要共备一定的代数和几何学基础。本书可以作为计算机游戏开发人员使用的参考用书,也可以作为计算枞游戏初学者的入门书籍。山于译者水平有限,错误在所难免,对于书中叙述不清,讲解有诙的地方,欢迎读者批评指。大家可以利用中國游戏丌发者联盟网站ht:/ ww.cngda com进行沟通与交流感谢北京递开元教育科技有限公司提供的机会与平台,感谢家人以及业界的朋友在夲书编写过程中给j我们的攴持和帮助,这里还要特別感谢任小宇、李巍、郑砚、张启竣在本书翻译过程屮提出了非常宝贵的意见,希望我们的绵薄之力能够促进屮国游戏产业的发展译者于北京绿园2005年5月目录第1章简介35坐标系转换36练习1.1什么是3D数学2为什么选择本书第4章向量13阅谈本书需要的基础知识…24向量数学定义……14概览41.1向量与杯量.第2章笛卡尔坐标系统44.12向量的继度274L.3记法211D数学42向量—几何定义222D笛卡尔数学421向量的形式221笛卡尔坐标系的实例42,2位置与位移假想中的笛卡尔城423向量的表达…29222任意2D坐标系842,4将向量表不为位移序列223在2D笛卡尔坐标系中43向量与点31定位点1043.L相对位置23从2D到3D43.2点和向量的关系23.1第三个维度,第三个轴…1练习32232在3D笛卡尔坐标系中第5章向量运算,定位1251线性代数与几何34233左手坐标系与右手坐标系…….1352符号约定35234本书的重要约定53零向量3524练习54负向量36第3章多坐标系54.1运算法则…为什么要使用多坐标系542几何解释,3732一些有用的坐标系,1855向量大小长度或模73.21世界坐标系…55.1运算法则38322物体坐标系552几何解释3832,3摄像机坐标系2056标量与向量的乘法39324惯性巫标系56.1运算法则392133嵌套式坐标系…562几何解释2234描述坐标系2357标准化向量571运算法则Ⅳγ3D数学基础:图形与游戏开发5.72几何解释71.1矩阵的继度和记法58向量的加法和减法42712方阵581运算法则7.13向量作为矩阵使用58.2几何解释71.4转置583一个点到另一个点的向量…45715标量和矩阵的乘法59距离公式,71.6矩阵乘法75510向量点乘477L7向量与矩阵的乘法5101运算法则71.8行向量与列向量510.2几何解释487,2矩阵—几何解释721矩阵是怎样变换向量的510.3向量投影.5l向量叉乘7.22矩阵的形式.51.1运算法则.723总结8273练习.5112几何解释第8章矩阵和线性变换85512线性代数公式53513练习548l变换物体与变换坐标系第6章30向量类82旋转578212D中的旋转61类接口82,23D中绕坐标轴的旋转62ⅴetor类82,33D中绕任意轴的旋转63设计决策8.3缩放…6.31foat与 double.6183.1沿坐标轴的缩放.94632运算符重载832沿任意方向缩放,633仅提供最重要的操作84正交投影…634不要重载过多的运算符,62g41向坐标轴或平面上投影635使用 consi成员函数62842向任意直线或平面投影…,100636使用 const引用参数,85镜像01637成员函数与非成员函数86切变638无缺省初始化87变换的组合639不要使用虚函数88变换分类1046310不要使用信息屏鞭881线性变换1051056311全局常量:零65882仿射变换1066312不存在“Poin3”类883可逆变换884等角变换1066.313关于优化88.5正交变换9206第7章矩阵88:6刚体变换…71矩裤—数学定义…69887变换类型小结上7百录V89练习07104四元数,14l第9章矩阵的更多知识109104l四元数记法1419.1矩阵的行列式1042四元数与复数…111491.1线性迳算法则1043四元数和轴一角对144109912儿何解释1131044负四元数92矩阵的逆1045单位四元数145921运算法则,1046四元数的模145922几何解释]151047四元数共轭和逆93|交矩阵1161048四元数乘法(叉乘)146931运箅法则,II61049四元数“差”150932几何解释1l610410四元数点乘15933矩阵正交化11810411四元数的对数、指数和944×4齐次矩阵标量乘运算l519414D齐次空间l1910412四元数求幂………529424x4平移矩阵12010413四元数插值“ slerp"…154943-般仿射变换L2310414四元数样条944透视投影.…2415794.5小孔成像125104.,15四元数的优点和缺点……15894.6使用4×4矩阵进行105各方法比较透视投影12710.6表达形式之间的转换,16095练习10.61从歐拉角转换到矩阵160第0章30中的方位与角位移,13010.62从矩阵转换到欧拉角……1562101什么是方位?3106.3从四元数转换到矩阵…65102矩阵形式1321064从矩阵转换到四元数……16710,2!用哪个矩阵132065从欧拉角转换到四元数.1701022矩阵形式的优点1331066从四元数转换到欧拉角……1711023矩阵形式的缺点133107练习…1024小结134第11章++实现7503欧拉角13511.1概述103.1什么是欧拉角13511,2 EulerAngles类1781032关于欧拉角的其他约定…13713 Quaternion类…103.3欧拉角的优点137A14 Rotationmatrix类,1981034欧拉角的缺点…138115 Matrix4×3类i035总结.140Ⅵ3数学基础;图形与游戏升发第12章几何图元225第13章几何检测26212.k表小方法,1312D隐式直线上的最近点262121.1隐式表示225132參数射线上的最近点263121.2参数形式表示22613.3平面上的最近点n2641213“直接”形式表示134圆或球上的最近点264I214自由度227135AABB上的最近点…¥22直线和射线……22713.6相交性检测266122.1两点表示法228137在2D中两条隐式直线的1222射线的参数形式228相交性检测1223特殊的2D直线表示方法229138在3D中两条射线的相交性检测…2671224在不同表示方法间转换…23013.9射线和平面的祁交性检测123球和圆23213.10AABB和平画的相交性检测270124矩形边界框23313.1三个平面间的相交性检测2701241AABB的表达方法413.12射线和圆/球的相交性检测2711242计算AABB23513.13两个圆球的相交性检测1243AABB与边界球236314球和AABB的相交性检测275I244变换AABB1315球和平面的相交性检测276125平面.…2381316射线和三角形的相交性检测12.5↓平面方程——隐式定义…23813.17射线和AABB的相交性检测…,2811252用三个点定义…2391318两个AABB的相交性检测28l1253多于三个点的13.19其他种类的检测……183“最佳”平面2401320AABB3类1254点到平面的距离.2421321练习298126三角形第14章三角网格3001261基本性质24214.1表示网格3012.6,2面积1411索引三角网格301263重心华标空间.246412高级技术12.64特殊点25214.13针对渲染的特殊表达.392127多边形255I4.14项点缓存1271简单多边形与复杂141.5三角带303多边形255146三角扇1272自相交多边形256142额外信息3071273凸多边形与巴名边形14,21纹理映射坐杯1274二角分解和扇形分解2601422表面法向量…12.8练习日录V42.3光照值155缓存34214.3拓扑与一致性…15.6纹理映射144三角网格操作309157几何体的生成与提交3441441逐片操作309157.1LOD选择与渐进式生成,344144,2焊接顶点3101572向AP投送几何体345443面拆分312158变换和光照1444边缩丹158l变换到裁剪空间347144.5网格消减1S82顶点光照348145C++三角网格类3]3159背面剔除与裁剪第15章图形数学31915.91背面剔除34951图形管道概述…1592裁剪3503201510光栅化35215,2设定视图参数32215,21指定输出窗口322第16章可见性检测3531522像素纵横比………323161包围体检测3541523视锥…32416.1.1基于枧锥的检测……3541524视场与缩放3241612遮断检测357153坐标全间,326162空间分割技术153,1模型与世界空间32616.3网格系统1532摄像机空间.326164四叉树和八叉树533裁剪空间327165BSP树53.4屏幕空间329165.1经典BSP154光照与雾化301652任意分割面…154.1色彩的数学3166遮断剔除3671542光源1661潜在可见集154.3标准光照方程—概述…33316.6.2 Portal技术3681544镜师反射分量333第17章后记3721545漫反射分量n336附录A简单的数学概念3731546环境光分量37l547光的减n338A.1求和记法154.8光照方程—合成…38A.2角度,度和弧度3731549雾化339A3三角图数374154.10fat着色与 GourandA,4三角公式着色341附录B参考文献379
下载地址
用户评论