- 1、本文档共61页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
为变换后的顶点
Chapter 3. Transforms变换 变换可以用来改变物体的位置、形状;对物体、光源和摄像机设置动画等 用齐次坐标,4X4矩阵来表示 大部分图形API (Application Programming Interface)包含矩阵操作 基本变换 Translation transform Rotation transform Scaling transform Shearing transform Transform concatenation Rigid body transform Normal transform 平移变换 旋转变换 性质1:迹与旋转轴无关,都为 性质2:所有旋转矩阵为正交阵,多个旋转矩阵相乘仍为正交阵。 比例缩放变换 错切变换 Concatenation of Transforms 因矩阵相乘是不可交换的,所以矩阵的串连是与次序有关的 矩阵串连的好处:节约计算量,提高效率 复合矩阵为:C=TRS (对于column-major) 注:对于row-major,复合矩阵为C=SRT 刚体变换 只有物体的位置(平移变换)和朝向(旋转变换)发生改变,而形状不变,得到的变换称为刚体变换 特点:保持长度和角度 Normal Transform(法向变换) 几何变换矩阵不能直接用于变换法向! 假设变换几何的矩阵为M,则用于变换法向的矩阵为N=(M-1)T 如果已知矩阵是正交的(只有旋转),则不需要计算机矩阵的逆:N=(M-1)T=M 平移不影响法向 若是刚体变换(保长的),采用法向变换的优点是可以避免法向的重新单位化 什么时候应用? 如果三角形的顶点包含法向信息,则必须应用法向变换。 若法向是通过计算三角形边的叉积得到,则不需要。 逆矩阵的计算 如果矩阵由一个或多个简单变换复合而成,而且已知参数,则逆矩阵可通过“逆参数”和矩阵相乘次序来得到。例子:M=T(t)R(?),则M-1= R(-?)T(-t) 如果矩阵已知是正交的,则M-1 =MT 如果未知任何信息:伴随矩阵法、Cramer法、LU分解法、Gauss消去法 Cramer法和伴随矩阵法具有较少的“if”分叉,应优先选用。在现代的体系结构中, “if”测试最好避免 特殊矩阵变换和操作 实时图形中非常重要的矩阵变换和操作1。Euler变换2。从一矩阵中抽取基本变换3。绕任意轴的旋转 Euler变换 Gimbal lock现象:当一个自由度丧失时。 当 时,矩阵只依赖一个角(r+h) 从Euler变换获取参数 特殊情况处理 当cos p = 0时,f01=f11=0,此时r = atan2(-f01,f11)无解。因cos p = 0时,故sin p = ±1, 可任意设定 h=0, 再得到 r = atan2(f10, f00) 由于p的值域为[-900,900],如果p的值不在这个范围,原始参数无法求得。故求得的h、p、r不是唯一的。 矩阵分解 应用需求: 获取比例缩放因子 对于特殊系统,获取基本变换(如VRML采用Transform节点,不支持任意4X4矩阵) 决定一个变换是否刚体变换 当只有矩阵信息时,动画中关键帧插值问题 从一矩阵中剔除错切部分 平移获取很容易,rotation, scaling, shears获取较复杂 绕任意轴旋转 绕任意单位轴r旋转角度α是一个很有用的操作 思想: (1).由r构造一正交坐标系 (2).变换坐标系,使得r与x轴重合 (3).绕x轴旋转 (4).变换回去 正交坐标系的构造 Goldman提出的方法 四元数(Quaternion) 最早由Sir William Rowan Hamilton于1843年提出,从复数推广到四维空间 1985年,Shoemake把四元数引入计算机图形学 在表示旋转和朝向方面,优于Euler角。具有表示紧凑,朝向插值稳定的优点 数学背景 定义: q=(qv, qw)=(iqx+jqy+kqz+qw)= qv+qw , qv= (iqx+jqy+kqz)=(qx, qy, qz) , i2 = j2 = k2 =-1, jk=-kj=i, ki=-ik=j, ij=-ji=k qw为实部, qv称为虚部,i, j, k 称为虚轴 四元数乘: qr = (iqx+jqy+kqz+qw) (irx+jry+krz+rw) = i (qyrz-qzry+rwqx+qwrx) + j (qzrx-qxrz+rwqy+qwry) + k (qxry-qyrx+rwqz+qwrz) + qwrw-qxrx-qyry-
文档评论(0)