《最新图形变换幻灯片》由会员分享,可在线阅读,更多相关《最新图形变换幻灯片(62页珍藏版)》请在金锄头文库上搜索。
1、图形变换图形变换以下几方面的内容:数学基础:矢量、矩阵及运算二维几何变换三维几何变换投影变换视窗变换内容乘法设A为32矩阵,B为23矩阵 C = A B = C=Cmp = Am n Bnp cij = aik*bkj单位矩阵 在一矩阵中,其主对角线各元素aii=1,其余皆为0的矩阵称为单位矩阵。n阶单位矩阵通常记作In 。 Am n = Am n In k=1,n变换的数学基础逆矩阵若矩阵A存在AA-1=A-1A=I,则称A-1为A的逆矩阵矩阵的转置 把矩阵A=(aij)mn的行和列互换而得到的nm矩阵称为A的转置矩阵,记作AT 。 (AT) T = A (A+B)T = AT + BT (
2、aA)T = aAT (AB)T = BT AT 当A为n阶矩阵,且A=AT ,则 A是对称矩阵。变换的数学基础矩阵运算的基本性质交换律与结合律师 A+B=B+A; A+(B+C)=(A+B)+C数乘的分配律及结合律 a(A+B) = aA+aB; a(A B) = (aA) B=A (aB) (a+b)A = aA + bA a(bA) = (ab)A变换的数学基础矩阵乘法的结合律及分配律 A(B C) = (A B)C (A+B) C = A C+ B C C (A+B) = C A + C B矩阵的乘法不适合交换律变换的数学基础所谓齐次坐标表示法就是由n+1维向量表示一个n维向量。如n维
3、向量(P1,P2,Pn)表示为(hP1,hP2,hPn,h),其中h称为哑坐标。1、h可以取不同的值,所以同一点的齐次坐标不是唯一的。如普通坐标系下的点(2,3)变换为齐次坐标可以是(1,1.5,0.5)(4,6,2)(6,9,3)等等。2、普通坐标与齐次坐标的关系为“一对多”由普通坐标h齐次坐标由齐次坐标h普通坐标3、当h=1时产生的齐次坐标称为“规格化坐标”,因为前n个坐标就是普通坐标系下的n维坐标。齐次坐标齐次坐标(x,y)点对应的齐次坐标为 (x,y)点对应的齐次坐标为三维空间的一条直线 1. 将各种变换用阶数统一的矩阵来表示。提供了用矩阵运算把二维、三维甚至高维空间上的一个点从一个坐
4、标系变换到另一坐标系的有效方法。2. 便于表示无穷远点。例如:(x h, y h, h),令h等于03. 齐次坐标变换矩阵形式把直线变换成直线段,平面变换成平面,多边形变换成多边形,多面体变换成多面体。4.变换具有统一表示形式的优点便于变换合成便于硬件实现齐次坐标的作用窗口视图变换用户域和窗口区1用户域:程序员用来定义草图的整个自然空间(WD) a人们所要描述的图形均在用户域中定义。 b用户域是一个实数域,理论上是连续无限的。2窗口区:用户指定的任一区域(W)a窗口区W小于或等于用户域WDb小于用户域的窗口区W叫做用户域的子域。c窗口可以有多种类型,矩形窗口、圆形窗口、多边形窗口等等 d 窗口
5、可以嵌套,即在第一层窗口中可再定义第二层窗口,在第I层窗口中可再定义第I+1层窗口等等。 窗口视图变换1屏幕域(DC):设备输出图形的最大区域,是有限的整数域。如图形显示器分辨率为1024768DC0.10230.7672视图区:任何小于或等于屏幕域的区域a视图区用设备坐标定义在屏幕域中b窗口区显示在视图区,需做窗口区到视图区的坐标转换。c视图区可以有多种类型:圆形、矩形、多边形等。 d 视图区也可以嵌套。窗口区和视图区的坐标变换 设窗口的四条边界WXL,WXR,WYB,WYT视图的四条边界VXL,VXR,VYB,VYT则用户坐标系下的点(即窗口内的一点)(Xw,Yw)对 应 屏 幕 视 图
6、区 中 的 点(Xs,Ys),其变换公式为窗口区和视图区的坐标变换简化为:1)当ac时,即x 方向的变化与y方向的变化不同时,视图中的图形会有伸缩变化,图形变形。2)当a=c=1,b=d=0则Xs=Xw,Ys=Yw,图形完全相同。思考:前面讲的窗口视图变换时,假设窗口的边和坐标轴平行,如果窗口的边不和坐标轴平行呢? 窗口区和视图区的坐标变换A.先让窗口FGHI转-角,使它和FGHI重合。B. 用(1)式进行计算。图形变换是计算机图形学基础内容之一。几何变换,投影变换,视窗变换线性变换,属性不变,拓扑关系不变。作用:把用户坐标系与设备坐标系联系起来;可由简单图形生成复杂图形;可用二维图形表示三维
7、形体;动态显示。图形变换二维图形的显示流程图图形的几何变换图形变换:对图形的几何信息经过几何变换后产生新的图形。图形变换的两种形式:1.图形不变,坐标系改变;2.图形改变,坐标系不变。我们所讨论的是针对坐标系的改变而讲的。二维图形的几何变换 设二维图形变换前坐标为(x,y,1),变换后为(x*,y*,1)1二维变换矩阵注意:T2D可看作三个行向量,其中100:表示x轴上的无穷远点010:表示y轴上的无穷远点001:表示原点二维图形的几何变换从变换功能上可把T2D分为四个子矩阵二维基本变换-平移变换 平移变换 平移变换只改变图形的位置,不改变图形的大小和形状 二维基本变换-比例变换以坐标原点为放
8、缩参照点当Sx=Sy=1时:恒等比例变换当Sx=Sy1时:沿x,y方向等比例放大。当Sx=Sy0:图形沿+x方向作错切位移。ABCDA1B1C1D1当b0: 图 形 沿 +y方 向 作 错 切 位 移 。 ABCDA1B1C1D1当d0,大拇指指向轴的方向,其它手指指的方向为旋转方向。三维变换矩阵-旋转变换绕Y轴旋转 此时,Y坐标不变,X,Z坐标相应变化。 x= sin(+) = x*cos + z*sin y = y z = cos(+) = z*cos- x*sinXYZ(x,z)(xz)XZOOZ三维变换矩阵-旋转变换矩阵表示为三维变换矩阵-旋转变换绕Z轴旋转 此时,Z坐标不变,X,Y坐
9、标相应变化。 x = cos(+) = x*cos - y*sin y = sin (+) = x*sin+ y*cos z = zXYZ(x,y)(xy)XYOO三维变换矩阵-旋转变换矩阵表示为:绕任意轴的旋转变换-方法1a)绕过原点的任意轴的旋转变换空间点P(x,y,z)绕过原点的任意轴ON逆时针旋转角的旋转变换。基基本本思思想想:因ON轴不是坐标轴,应设法旋转该轴,使之与某一坐标轴重合,然后进行旋转角的变换,最后按逆过程,恢复该轴的原始位置。绕任意轴的旋转变换-方法1解:令ON为单位长度,其方向余弦为:、为ON轴与各坐标轴的夹角。变换过程如下:1)让ON轴绕z轴旋转-,使之在XOZ平面上
10、。其中绕任意轴的旋转变换-方法1因此2)让在XOZ平面上的ON绕y轴旋转-,使之与z轴重合。其中因此绕任意轴的旋转变换-方法13)P点绕ON轴(即z轴)逆时针旋转角4)ON轴绕y轴旋转 5)ON轴绕z轴旋转 因此b)绕任意轴的旋转变换上面的ON轴若不过原点,而是过任意点(x0,y0,z0),变换如何呢?绕任意轴的旋转变换-方法2组合变换:空间一点绕空间任一轴线的旋转变换。要通过将几个基本的变换组合在一起,得到该组合变换。 假定空间任一直线的方向矢量分别为:(l,m,n)并经过原点(l,m,n)(x,y,z)(x,y,z)XYZON绕任意轴的旋转变换-方法2能否转换成绕X、Y或Z轴旋转的变换?
11、ON绕Z轴旋转2 到XOZ平面上,然后再绕Y轴旋转1,即可与Z轴重合。ON21YZX绕任意轴的旋转变换-方法2这样,可得空间上任一点绕ON轴旋转的变换过程如下: 1)首先通过两次旋转,使ON轴与Z轴重合; 2)然后使点绕Z轴旋转角; 3)最后通过与1)相反的旋转,使ON轴回 到原来的位置。 假设,绕Z轴的旋转-2矩阵为T1 绕Y轴的旋转-1矩阵为T2 绕Z轴的旋转矩阵为T3 绕Y轴的旋转1矩阵为T4 绕Z轴的旋转2矩阵为T5绕任意轴的旋转变换-方法2则总体变换矩阵为: T = T1 T2 T3 T4 T5 由上推导可看出,只要能求出1 、2的值,即可通过上式获得绕ON轴的变换矩阵。 由于矢量 (0 0 1)绕Y轴旋转1 ,再绕Z轴旋转2 即可与ON轴重合。即: l m n 1 = sin1cos2,sin1sin2,cos1,1l = sin1cos2 m= sin1sin2 n = cos1从而通过上式即可得到1、2 的值。问题:当任一轴线的端点不在原点时,此时应如何计算变换矩阵?绕任意轴的旋转变换-方法2结束语结束语谢谢大家聆听!谢谢大家聆听!62