文档详情

计算机图形学电子教案初步.ppt

发布:2017-11-18约4.07千字共47页下载文档
文本预览下载声明
第4章 图形变换 4.1图形变换的数学基础 4.2图形的几何变换 4.3显示变换 4.4图形显示的流程 4.5图形显示中的裁剪问题 4.6OpenGL的坐标变换机制 4.1 图形变换的数学基础 矢量、点和欧氏空间 坐标系和坐标 矩阵与坐标变换 齐次坐标的引入 矢量 矢量具有确定的方向和大小(长度) 矢量是流动的,无位置概念 矢量的运算 C=A+B, B=2A 矢量 点表示空间中的一个位置 点和另一个点相减得到一个矢量 v=P-Q 矢量和点相加得到另一个点 P=Q+v 点和矢量都是客观实在 欧氏空间 点乘 a=u 。v (a为实数,u、v为矢量) 0 。0=0 如果u 。v=0,则称u和v垂直 矢量的长度|v|, |v|2=v 。v 欧氏空间 投影 u 。v =|u||v|cos(? ) 矢量乘 n=uxv,|n|=|u||v|sin(?) 由右手法则确定方向 坐标系和坐标 为了描述矢量和点引入坐标系 在3维空间,给出三个线性无关的矢量v1、v2、v3 则任意一个矢量w可以表示为: w= a1v1+a2v2+a3v3 , (a1a2a3为实数) 因此,可以将矢量w记为a(a1,a2,a3) 坐标系和坐标 在三维空间给定一个点P0和三个线性无关的矢量v1、v2、v3 则,空间中任何一个点P可以表示为: P= P0 + a1v1+a2v2+a3v3 ,(a1a2a3为实数) 称点P的坐标为(a1,a2,a3) 写成矩阵形式为: P=P0+ (a1,a2,a3)( v1、v2、v3 )T 坐标系之间的变换 已知 坐标系I:原点Q0,坐标轴 {u1,u2,u3} 坐标系II:原点P0 ,坐标轴{v1,v2,v3} Q0在坐标系II的坐标为:[q1,q2,q3] 坐标系之间的变换 写成矩阵形式: Q0=P0 + [q1,q2,q3] {v1,v2,v3} T {u1,u2,u3} T =M {v1,v2,v3} T 其中: 坐标系之间的变换 对于空间中的任一个点D ,如果已知D点在坐标系II中的坐标为[d1d2d3] 则: D= P0+ [d1d2d3] {v1,v2,v3} T = Q0 -[q1q2q3] {v1,v2,v3} T +[d1d2d3] {v1,v2,v3} T = Q0 +([d1d2d3]- [q1q2q3] )M -1{u1,u2,u3}T 所以,D点在坐标系I中的坐标为 ([d1d2d3]- [q1q2q3] )M -1 齐次坐标的引入 对于三维空间中的点,其坐标用三个实数表示,如:(X,Y,Z)。 还可以用四个实数来表示一个点的坐标,写为: (X,Y,Z,W),其中W不能为0。 该坐标与(X/W,Y/W,Z/W)等价。 这样做有许多方面的好处: 1、很容易表示无穷远点 2、容易用矩阵与矢量乘的方法表示点的平移操作,以便简化计算过程。 齐次坐标的引入 例一: 式子P= P0 + a1v1+a2v2+a3v3的简化: 非齐次坐标: P= P0 + [a1,a2,a3] {v1,v2,v3} T 齐次坐标: 齐次坐标的引入 将关系式 简化为: 齐次坐标的引入 对于空间中的任一个点D ,如果已知D点在坐标系II中的坐标为[d1d2d31] D= [d1d2d31] {v1,v2,v3 ,P0} T = [d1d2d31]M-1 {u1,u2,u3 ,Q0} T 推导过程也变得简单了 Q’=[q’1,q’2,q’2,1] {u1,u2,u3 ,Q0} T = [q’1,q’2,q’2,1]M{v1,v2,v3 ,P0} T 4.2 图形的几何变换 图形几何变换的目的 平移、旋转、缩放 变换的组合 图形几何变换的目的 改变图形的 位置、 方向、 大小 平移(Translation) P’=P+D ,其中D=[ax,ay,az,0] P’=[px’,py’,pz’,1] P= [px,py,pz,1] 写成矩阵与矢量的乘法P’=TP 缩放(scaling) P’=SP 旋转(rotation) P’=RP 几何变换的组合 4.3显示变换 三维图形显示的物理模型 透视投影变换 平行投影变换 视口变换 视坐标系与视变换 三维图形的显示流程 视口到三维空间的反变换 三维图形显示的模型 视景体(圆台、四棱台) 三维图形显示的模型 视景体的参数 三维图形显示的模型 上方矢量 三维图形显示的模型 前后裁剪面 三维图形显示的模型 视角的影响 三维图形显示的模型 视口长宽比例的影响 三维图形显示的模型 平行投影的显示模型 透视投影变换 透视投影变换 平行投影变换 视口变换 视坐标系与视变换 给定视坐标系: (Ex,Ey
显示全部
相似文档