《3d游戏设计005006计算机图形学基础.ppt》由会员分享,可在线阅读,更多相关《3d游戏设计005006计算机图形学基础.ppt(35页珍藏版)》请在三一办公上搜索。
1、网络游戏开发DirectX,第1章 计算机图形学基础,第1章 计算机图形学基础,四元数图形几何变换,四元数图形几何变换,四元数,掌握四元数的相关运算 掌握图形几何变换的概念及数学实现,1.2 线性代数基础1.2.3 四元数1复数,第1章 计算机图形学基础,复数是由实部和虚部组成的。,复数的概念,复数的几何表示为。,1.2 线性代数基础1.2.3 四元数1复数,第1章 计算机图形学基础,复数的运算有9种方式。,复数的范数,复数的范数可以看作表示复数的向量的模。,复数与标量相乘/除,符合乘法分配律,实部与虚部分别进行乘除运算。,1.2 线性代数基础1.2.3 四元数1复数,第1章 计算机图形学基础
2、,复数加法与减法,实部与实部相加减,虚部与虚部相加减。,复数加法恒等元,任何复数相加,结果仍为该复数,表示为(0+0*i)。,复数加法逆元素,任何复数与其加法逆元素相加,结果为复数加法恒等元。z=(a+b*i)的加法逆元素为z*=(-a-b*i)。,1.2 线性代数基础1.2.3 四元数1复数,第1章 计算机图形学基础,共轭复数,当两个复数实部相等,虚部互为相反数时,这两个复数互为共轭复数。在几何意义上,复平面内两个互为共轭复数的点关于实轴对称。,复数乘法,用一个复数的实部和虚部分别去乘另一个复数的实部和虚部,把结果相加。,1.2 线性代数基础1.2.3 四元数1复数,第1章 计算机图形学基础
3、,复数除法,需要把除数转化为实数进行。,复数与其倒数,复数的倒数和复数本身相乘,结果为1。,1.2 线性代数基础1.2.3 四元数2四元数,第1章 计算机图形学基础,四元数的概念,四元数(quaternion)是由爱尔兰数学家哈密顿(William Rowan Hamilton)于1843年发明的。四元数并不代表现实世界的任何东西,只在数学意义上存在。,四元数本身可视为是在复数基础上的拓展。可称为是超复数(hyper-complex number)。四元数是指有一个实部和3个虚部的复数。,也可表示为,1.2 线性代数基础1.2.3 四元数2四元数,第1章 计算机图形学基础,四元数的概念,虚数基
4、(i,j,k)可以看作是虚拟坐标系中3个相互垂直的单位向量,并且满足下面的关系。,1.2 线性代数基础1.2.3 四元数2四元数,第1章 计算机图形学基础,四元数的范数,四元数的运算和复数运算相似。,四元数加法与减法,加法逆元素,和原四元数相加,结果为0的四元数。,1.2 线性代数基础1.2.3 四元数2四元数,第1章 计算机图形学基础,加法恒等元,四元数乘法,用向量的形式表示为。,和任意四元数相加,结果仍为该四元数的四元数。,1.2 线性代数基础1.2.3 四元数2四元数,第1章 计算机图形学基础,乘法恒等元,实部相等,虚部各分量均相反的两个四元数互为共轭四元数。,共轭四元数,相当于数学意义
5、上的1。,1.2 线性代数基础1.2.3 四元数2四元数,第1章 计算机图形学基础,单位四元数,四元数乘以它的倒数结果应为1。,四元数的倒数,模为1的四元数,可以用三角函数的形式表示。,1.3 图形几何变换1.3.1 齐次坐标,第1章 计算机图形学基础,由n+1维向量表示一个n维向量。,使用齐次坐标的优势在于:1)提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。2)可以表示无穷远点。例如,n+1维中,h=0的齐次坐标实际上表示了一个n维的无穷远点,可以进行点的投影。,1.3 图形几何变换1.3.2 基本变换,第1章 计算机图形学基础,在计算机图形学
6、中,用矩阵T表示一个平移矩阵,三维坐标系下,T是一个44的矩阵。,平移变换,1.3 图形几何变换1.3.2 基本变换,第1章 计算机图形学基础,向量没有位置属性,因此,向量的平移变换没有意义。,平移变换,平移矩阵的逆矩阵可以表示为:,1.3 图形几何变换1.3.2 基本变换,第1章 计算机图形学基础,旋转变换保持图形各部分之间的线性关系和角度关系,变换后物体的形状不会发生改变。在计算机图形学中,用矩阵R来表示一个旋转矩阵,三维坐标系下,R是一个44的矩阵。,旋转变换,绕x轴旋转,1.3 图形几何变换1.3.2 基本变换,第1章 计算机图形学基础,旋转变换,绕z轴旋转,绕y轴旋转,1.3 图形几
7、何变换1.3.2 基本变换,第1章 计算机图形学基础,点的旋转变换就是点向量与矩阵相乘。,旋转变换,对于绕任意轴旋转角度的旋转矩阵R,从中取出与旋转变换相关的33的子矩阵,可以计算出其对角元素之和是一个与坐标轴无关的常数,称为迹(Trace):,1.3 图形几何变换1.3.2 基本变换,第1章 计算机图形学基础,在计算机图形学中,用矩阵S来表示一个缩放矩阵,三维坐标系下,S是一个44的矩阵。,缩放变换,如果对缩放矩阵的缩放因子s的一个或者3个分量置负,就会产生一个反射矩阵(Reflective Matrux),或者称为镜像矩阵(Mirror Matrix)。如果其中两个因子是-1,将会旋转18
8、0度。,1.3 图形几何变换1.3.2 基本变换,第1章 计算机图形学基础,可以把多个变换矩阵组合起来,称为变换级联,变换级联,进行组合变换时,组合变换的矩阵为各个变换矩阵的乘积。由于矩阵乘法运算不满足乘法交换律,因此,矩阵相乘的先后顺序会直接影响最终结果。通常情况下,变换时先进行缩放,再进行旋转,最后平移。,1.3 图形几何变换1.3.2 基本变换,第1章 计算机图形学基础,把一个点恢复为原状,可以用变换后的点乘以变换矩阵的逆矩阵。,逆矩阵,1)旋转矩阵的逆矩阵等于其转置矩阵:。2)如果矩阵是单个变换,可以直接按照各自的逆矩阵规则计算出相应的逆矩阵。3)如果矩阵是组合矩阵,可以通过计算得到其
9、逆矩阵。,1.3 图形几何变换1.3.3 特殊变换,第1章 计算机图形学基础,欧拉变换是一种非常直观的方式,主要用来构造一个自定位(如摄像机)或者使任何实体处于特定方向的矩阵,其命名源于瑞典的著名数学家Euler Leonard。,欧拉变换,1.3 图形几何变换1.3.3 特殊变换,第1章 计算机图形学基础,欧拉变换是绕3个旋转轴的旋转矩阵的乘积。,欧拉变换,绕x轴旋转的角称为倾斜角(pitch),绕y轴旋转的角称为翻滚角(head,在飞行模拟中称为偏转角yaw),绕z轴旋转的角称为摇摆角(roll)。,欧拉角的局限性在于:1)欧拉变换的顺序不能交换;2)欧拉角会产生万向节死锁(GimbalL
10、ock)现象。,1.3 图形几何变换1.3.3 特殊变换,第1章 计算机图形学基础,单位四元数可以用来表示绕任意轴的旋转。,四元数变换,旋转轴为uq,旋转角度为2。,1.3 图形几何变换1.3.3 特殊变换,第1章 计算机图形学基础,四元数转换为矩阵。,四元数变换,矩阵转换为四元数。,1.3 图形几何变换1.3.4 投影变换,第1章 计算机图形学基础,平行投影使用一组平行投影线将投影对象投影到投影面。,平行投影,投影对象与投影平面的距离不会影响到投影对象的投影结果大小。,1.3 图形几何变换1.3.4 投影变换,第1章 计算机图形学基础,平行投影分为两种。,平行投影,正交平行投影的投影线与投影
11、平面成90角。,正交平行投影,1.3 图形几何变换1.3.4 投影变换,第1章 计算机图形学基础,平行投影,斜交平行投影的投影线与投影面成交角。,斜交平行投影,1.3 图形几何变换1.3.4 投影变换,第1章 计算机图形学基础,透视投影,透视投影使用一组由投影中心产生的放射投影线,将三维对象投影到投影平面上去。,小结(理论课),第1章 计算机图形学基础,图形学相关的线型代数知识:四元数及其运算图形几何变换平移旋转缩放投影四元数相关变换欧拉变换,小测验(题目部分),第1章 计算机图形学基础,选择题(单选题)1下面的变换中,哪种是不可逆的?()A平移 B旋转 C缩放 D投影判断题2三维坐标系中,图形的变换矩阵都是44的方阵。()3使用四元数进行旋转变换,容易引起万向节死锁问题。(),小测验(答案部分),第1章 计算机图形学基础,选择题(单选题)1下面的变换中,哪种是不可逆的?(D)A平移 B旋转 C缩放 D投影判断题2三维坐标系中,图形的变换矩阵都是44的方阵。(对)3使用四元数进行旋转变换,容易引起万向节死锁问题。(错),课后作业,第1章 计算机图形学基础,【作业1】编写四元数类,思路分析:编写四元数类,实现四元数的各种运算,重载运算符,需要实现四元数与矩阵的相互转化;,第1章 计算机图形学基础,The End,
链接地址:https://www.31ppt.com/p-6067975.html