必备的数学知识(二)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《必备的数学知识(二)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 必备 数学知识 课件
- 资源描述:
-
1、Part I 必备的数学知识1本部分学习目标 了解线性代数学在3D图形学中的应用 熟悉D3DX中提供的数学类数学类和函数函数,并用它们来完成3D数学运算 2Direct3D中要用到的数学知识 向量vector 矩阵matrix 矩阵变换matrix transformation 平面plane 射线ray前三个方面三个方面是最重要,最基本的33D空间中的向量 在几何几何学学上,使用一条带箭头的带箭头的直线段直线段来表示向量 注意:注意:区分向量的头部和尾部back4向量的属性有两个属性属性:1 长度长度(数量,大小)2 方向方向3D图形学中经常用向量向量来表示方向表示方向(如水的流向,光线方向
2、等)5向量相等“位置位置”并不是向量的属性向量相等向量相等的条件:长度相等,且方向相同见图中的u,v注意:向量的描述是独立于坐标系独立于坐标系的(因为没有位置属性)6左手左手坐标系与右手右手坐标系 Direct3D用的是左手左手坐标系,OpenGL用的是右手右手坐标系 7左手左手坐标系与右手右手坐标系用除了大拇指之外的四个指头从+X轴轴绕向+Y轴轴,大拇指的指向大拇指的指向就是+Z轴的方向8处于标准位置的向量在某个特定特定的坐标系中,移动向量移动向量,使向量的尾部位于尾部位于坐标系的原点原点,这时,向量处于标准位置标准位置注意:注意:平移向量并不会改平移向量并不会改变向量变向量,因为向量没有位
3、置属性见图中u,v9标准向量的表示方法在指定的坐标系中,可以用标准向量头部标准向量头部所在点的位置所在点的位置来表示向量 不要将点点和向量等同向量等同起来 前者只有位置只有位置属性,后者没有位置属性后者没有位置属性,只有大小和方向10向量的表示方法用大写或小写 粗体字表示向量2D向量:u=(ux,uy)3D向量:N=(Nx,Ny,Nz)4D向量:c=(cx,cy,cz,cw)113D向量中的特殊向量 零向量零向量:0=(0,0,0)所有分量为0 三个基本向量基本向量:i,j,ki=(1,0,0)j=(0,1,0)k=(0,0,1)分别沿着坐标系中x轴、y轴和z轴伸展 注意注意:长度为1的向量称
4、为单位向量单位向量12特殊向量的示意图从图中可见,零向零向量不表示任何方向量不表示任何方向,或者说可表示任何可表示任何方向方向13D3DX中的vectorD3DXVECTOR3 表示3D向量具体定义见SDK从D3DVECTOR结构继承具有x y z三个数据成员加上一些对向量的操作操作,如+-*/14除了3D向量还有 D3DXVECTOR2表示2D向量 D3DXVECTOR4表示4D向量分量个数不同,操作基本相同,除了3D向量所特有的叉乘运算叉乘运算注意:向量的运算大部分可以推广推广到多维向量多维向量15向量的相等性判断(Equality)几何几何判断:长度,方向均相同 代数代数判断:维数维数相
5、同,相对应的分量分量相等16判断相等性的代码D3DXVECTOR u(1.0f,0.0f,1.0f);D3DXVECTOR v(0.0f,1.0f,0.0f);if(u=v)return true;类似的,也有不相等的判断if(u!=v)return true;重载了重载了=和和!=运算符运算符17注意:浮点数的判断不精确因为计算机中浮点数的精度限制精度限制,所以进行浮点数的判断只能是判断是否为近似相近似相等等,在代码中应定义一个误差值误差值代码:const float EPSILON=0.001f;bool Equals(float lhs,float rhs)return fabs(lhs
展开阅读全文