Chapter 3. Transforms变换.ppt
《Chapter 3. Transforms变换.ppt》由会员分享,可在线阅读,更多相关《Chapter 3. Transforms变换.ppt(61页珍藏版)》请在麦多课文档分享上搜索。
1、Chapter 3. Transforms 变换,金小刚 Email: 浙江大学CAD&CG国家重点实验室,教I 三楼,变换可以用来改变物体的位置、形状;对物体、光源和摄像机设置动画等用齐次坐标,4X4矩阵来表示大部分图形API (Application Programming Interface)包含矩阵操作,基本变换,Translation transform Rotation transform Scaling transform Shearing transform Transform concatenation Rigid body transform Normal transfo
2、rm,平移变换,x,y,x,y,旋转变换,性质1:迹与旋转轴无关,都为性质2:所有旋转矩阵为正交阵,多个旋转矩阵相乘仍为正交阵。,比例缩放变换,Example: Scaling in a certain direction 假设沿正交、右手系的矢量fx , fy , fz进行比例变换,则首先构造矩阵最后的变换为,错切变换,六个基本错切矩阵:Hxy(s), Hxz(s), Hyx(s), Hyz(s), Hzx(s), Hzy(s)。 第一个下标表示改变的坐标 第二个下标表示实施错切的坐标,x,z,1,1,x,z,1,1,s,Hxz(s),由于|H|=1, 故错切变换是一个保体积的变换,Conc
3、atenation of Transforms,因矩阵相乘是不可交换的,所以矩阵的串连是与次序有关的矩阵串连的好处:节约计算量,提高效率复合矩阵为:C=TRS (对于column-major) 注:对于row-major,复合矩阵为C=SRT,刚体变换,只有物体的位置(平移变换)和朝向(旋转变换)发生改变,而形状不变,得到的变换称为刚体变换 特点:保持长度和角度,Normal Transform(法向变换),几何变换矩阵不能直接用于变换法向! 假设变换几何的矩阵为M,则用于变换法向的矩阵为N(M-1)T,x,y,polygon,normal,x,y,incorrect,x,y,correct,
4、沿x方向比例缩放0.5,如果已知矩阵是正交的(只有旋转),则不需要计算机矩阵的逆:N(M-1)TM 平移不影响法向若是刚体变换(保长的),采用法向变换的优点是可以避免法向的重新单位化什么时候应用? 如果三角形的顶点包含法向信息,则必须应用法向变换。 若法向是通过计算三角形边的叉积得到,则不需要。,逆矩阵的计算,如果矩阵由一个或多个简单变换复合而成,而且已知参数,则逆矩阵可通过“逆参数”和矩阵相乘次序来得到。 例子:M=T(t)R(),则M-1= R(-)T(-t) 如果矩阵已知是正交的,则M-1 MT如果未知任何信息:伴随矩阵法、Cramer法、LU分解法、Gauss消去法 Cramer法和伴
5、随矩阵法具有较少的“if”分叉,应优先选用。 在现代的体系结构中, “if”测试最好避免,特殊矩阵变换和操作,实时图形中非常重要的矩阵变换和操作 1。Euler变换 2。从一矩阵中抽取基本变换 3。绕任意轴的旋转,Euler变换是一种直观的使一个物体(或摄像机)朝向一指定方向的有效方法。其来源:瑞士大数学家Leonard Euler缺省视域方向:视线为z轴,头朝y轴Euler变换是三个矩阵的相乘E为一正交阵,其逆矩阵,Euler变换,x,y,-z,pitch,head,roll,Euler变换:Head,Pitch and Roll,其它命名方式:x-roll, y-roll, z-roll。
6、在飞行仿真中,采用yaw而非head,摇头 “No”,点头,左右摇晃身体,Gimbal lock现象:当一个自由度丧失时。当 时,矩阵只依赖一个角(r+h),从一正交矩阵反求Euler参数把上式展开,得到,从Euler变换获取参数,由于sin p= f21 , f01/ f11= - tan r, f20/f22= -tan h 故三个欧拉参数的值为h = atan2 (-f20, f22)p = arsin(f21)r = atan2(-f01,f11),特殊情况处理,当cos p = 0时,f01=f11=0,此时r = atan2(-f01,f11)无解。因cos p = 0时,故sin
7、 p = 1,可任意设定 h=0, 再得到 r = atan2(f10, f00)由于p的值域为-900,900,如果p的值不在这个范围,原始参数无法求得。故求得的h、p、r不是唯一的。,矩阵分解,应用需求: 获取比例缩放因子对于特殊系统,获取基本变换(如VRML采用Transform节点,不支持任意4X4矩阵) 决定一个变换是否刚体变换当只有矩阵信息时,动画中关键帧插值问题从一矩阵中剔除错切部分平移获取很容易,rotation, scaling, shears获取较复杂,绕任意轴旋转,x,y,z,r,s,t,x,y,z,r,s,t,x,y,z,r,s,t,M,MT,Rx(),绕任意单位轴r旋
8、转角度是一个很有用的操作 思想: (1).由r构造一正交坐标系 (2).变换坐标系,使得r与x轴重合 (3).绕x轴旋转 (4).变换回去,正交坐标系的构造,数值稳定的方法:先找到r中绝对值最小的坐标分量,然后把其设置为0,然后设置,由(r, s, t)构造矩阵M,该矩阵M把r变换为x轴, s变换为y轴, t变换为z轴。故最后的变换为含义:先把r变换为x轴,然后绕x轴旋转,最后用M的逆矩阵变换回去。注:这里M-1=MT,Goldman提出的方法,参考:Goldman, Ronald, “Matrices and Transformations ”, in Graphics Gems, 1990
9、, pp.472-475,四元数(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=kqw为实部, qv称为虚部,i, j, k 称为虚轴,四元数乘: qr =
10、(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-qzrz=(qv rv+rw qv+ qw rv, qw rw- qv. rv)四元数加: q + r = (qv, qw) + (rv, rw) = (qv+rv , qw+rw),四元数共轭: q*= (qv, qw)*= (-qv, qw) 四元数范数:n(q)= |q2| =q q*=q* q = qv .qv+q2w=q2x+q2y+q2
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CHAPTER3TRANSFORMS 变换 PPT
