1、主要介绍二维图形几何变换二维图形几何变换 三维图形几何变换三维图形几何变换 参数图形几何变换参数图形几何变换 基本的几何变换研究物体坐标在直角坐标系内的平移、旋转和变比的规律。 3.1.1 二维图形几何变换二维图形几何变换 一、基本变换 平移(Translation) x x = = x x+ +x xy y = = y y+ +y y(x, y)(x, y)(Tx,Ty)x 3.1.1 二维图形几何变换二维图形几何变换 (续续)一、基本变换 旋转(Rotation) x x = = x x coscos y y sinsin y y = = y y coscos + + x x sinsin
2、 xyf(x, y)(x, y) 3.1.1 二维图形几何变换二维图形几何变换 (续续)一、基本变换 旋转(Rotation) xyf(x, y)(x, y)(xr r, yr r)x x = = x x coscos y y sinsin y y = = y y coscos + + x x sinsin newxnewx = = x x x xr rnewynewy = = y y y yr rnewxnewx = new = newx x coscos newy y sinsin newynewy = new = newy y coscos + new+ newx x sinsin x
3、x = = newxnewx + + x xr r y y = = newynewy + + y yr rx x = = x xr r+(+(x x x xr r)cos)cos ( (y y y yr r)sin)sin y y = = y yr r+(+(y y y yr r)cos)cos +(+(x x x xr r)sin)sin 3.1.1 二维图形几何变换二维图形几何变换 (续续)一、基本变换 变比(Scaling) x = x Sxy = y Sy (x, y)(x, y)xy固定点变比(scaling relative to a fixed point)。以a为固定点1(1)
4、作平移Tx=xa,Ty=ya;2(2)按式(3.1)作变比;3(3)作1)的逆变换,即作平移Tx=xa,Ty=ya。(3.1) 当比例因子Sx或Sy小于0时,对象不仅变化大小,而且分别按x轴或y轴被反射 3.1.1 二维图形几何变换二维图形几何变换 (续续)一、基本变换 变比(Scaling) 3.1.1 二维图形几何变换二维图形几何变换 (续续)二、变换矩阵 平的矩阵运算表示为 (3.2)简记为p=pT(Tx, Ty)。其中,p=x y 1,p=x y 1。 100110101xyxyx yTT100(,)0101xyxyT T TT T表示平移矩阵。 3.1.1 二维图形几何变换二维图形几
5、何变换 (续续)二、变换矩阵 旋转的矩阵运算表示为 (3.2)简记为p=pR(),其中R()表示旋转矩阵。 cossin011sincos0001xyx y 3.1.1 二维图形几何变换二维图形几何变换 (续续)二、变换矩阵 变比的矩阵运算表示为 (3.3)简记为p=pS(Sx, Sy),其中(Sx, Sy)表示变化矩阵。 0 0110000 1xySxyx yS 3.1.1 二维图形几何变换二维图形几何变换 (续续)三、级联变换(Composite Transformation) 对于复杂的图形变换,需要通过若干个变换矩阵的级联才能实现。这里特别要注意的是矩阵级联的顺序矩阵级联的顺序,由于矩
6、阵的乘法运算不适用交换率,因此矩阵级联的顺序不同所得到的变换结果也不相同。例如例如:对任意直线的对称变换(直线方程为 Ax + By + C = 0)yox 3.1.1 二维图形几何变换二维图形几何变换 (续续)三、级联变换(Composite Transformation) xxyoxyo 1 0 0 T1 = 0 1 0 C/A 0 1 cos sin 0T2= sin cos 0 0 0 1 3.1.1 二维图形几何变换二维图形几何变换 (续续)三、级联变换(Composite Transformation) xyoxyoxyo 1 0 0T3 = 0 -1 0 0 0 1 cos si
7、n 0T4 = sin cos 0 0 0 1 1 0 0 T5= 0 1 0 C/A 0 1 3.1.1 二维图形几何变换二维图形几何变换 (续续)三、级联变换(Composite Transformation) 组合变换矩阵为: cos2 sin2 0T =T1T2T3T4T5= sin2 cos2 0 (cos2-1)C/A sin2*C/A 1x y 1= x y 1T 3.1.1 二维图形几何变换二维图形几何变换 (续续)四、二维几何变换的指令 建立变换矩阵的指令为creat_transformation_matrix(xf, yf, Sx, Sy, xr, yr, , Tx, Ty
8、, matrix); 积累变换的指令为accumulate_transformation_matrix(matrix1, matrix2, matrix); 坐标变换的指令为set_segment_transformation(Id, matrix);3.1.2 三维图形几何变换三维图形几何变换 旋转 1) 绕z轴旋转的公式为x = xcos ysin y = xsin +ycos z = z矩阵运算的表达式为 cossin0 0sincos0 01100100001xyzx y zxz(x, y, z)(x, y, z)3.1.2 三维图形几何变换三维图形几何变换 (续续) 旋转 2) 绕x
9、轴旋转的公式为x = xy = ycos zsinz = ysin +zcos矩阵运算的表达式为 10000 cossin0110sincos00001xyzx y z(x, y, z)(x, y, z)xyz3.1.2 三维图形几何变换三维图形几何变换 (续续) 旋转 3) 绕y轴旋转的公式为 x = zsin +xcos y = yz = zcos xsin矩阵运算的表达式为 cos0sin0010011sin0 cos00001xyzx y z(x, y, z)(x, y, z)xyz3.1.2 三维图形几何变换三维图形几何变换 (续续) 旋转 4) 绕任意轴旋转图3.6 绕任意轴P1P
10、2旋转的前4个步骤 3.1.2 三维图形几何变换三维图形几何变换 (续续) 变比 设Sx、Sy、Sz是物体在3个坐标轴方向的比例变化量,则有公式x = xSx,y = ySy,z = zSz矩阵运算的表达式为 00 000 011000000 1xyzSSxyzx y zS3.1.3 参数图形几何变换参数图形几何变换 (续续) 圆锥曲线的几何变换 圆锥曲线的二次方程是Ax2+Bxy+Cy2+Dx+Ey+F=0,其相应的矩阵表达式是简记为XSXT=0。221022122BDAxBEx yCyDEF 平移变换。若对圆锥曲线进行平移变换,平移矩阵是Tr= ,则平移后的圆锥曲线矩阵方程是XTrSTrT
11、XT=0。1000101mn3.1.3 参数图形几何变换参数图形几何变换 (续续) 圆锥曲线的几何变换 旋转变换。若对圆锥曲线相对坐标原点作旋转变换,旋转变换矩阵是R=,则旋转后的圆锥曲线矩阵方程是XRSRTXT=0。若对圆锥曲线相对(m, n)点作旋转角变换,则旋转后的圆锥曲线是上述Tr、R变换的复合变换,变换后圆锥曲线的矩阵方程是XTrRSRTTrTXT=0。 比例变换。若对圆锥曲线相对(m, n)点进行比例变换,比例变换矩阵为ST=,则变换后圆锥曲线的矩阵方程是XTrSTSSTTTrTXT=0。cossin0sincos00010000001xySS3.1.3 参数图形几何变换参数图形几
12、何变换 (续续) 参数曲线、曲面的几何变换 若指定一个平移矢量t,对曲线平移t,即对曲线上的每一点P都平移t。对平移后的点P*有P* = P+t对于参数曲线和曲面的几何系数矩阵B和代数系数矩阵A,可以直接实现平移变换,即有B* = B+T,T = t t 0 0TB*是经平移后参数曲线的几何系数矩阵,变换结果如图所示。3.2.1 坐标系统坐标系统 1. 世界坐标系(W World C Coordinates) 为了描述被处理的对象,要在对象所在的空间中定义一个坐标系,这个坐标系的长度单位和坐标轴的方向要适合对被处理对象的描述,这个坐标系通常就称之为世界坐标系或用户坐标系。世界坐标系一般采用右手
13、三维笛卡儿坐标系。xyzo3.2.1 坐标系统坐标系统(续)(续) 2. 观察坐标系(V View C Coordinates) 产生三维物体的视图,必须规定观察点(视点)和观察方向。 好比照相时选择拍摄的位置和方向。 左手笛卡儿坐标系(上图):观察坐标系的原点通常设置在观察点(视点),Z轴作为观察方向。 右手笛卡儿坐标系:视点确定在Z轴上的某一个位置,Z轴仍为观察方向(下图)。xyzoxyzo视点视点3.2.1 坐标系统坐标系统(续)(续)3. 设备坐标系(D Device C Coordinates) 与图形设备相关连的坐标系叫设备坐标系。 例如,显示器以分辨率确定坐标单位,原点在左下角或
14、左上角;绘图机绘图平面以绘图精度确定坐标单位,原点一般在左下角。4. 规格化设备坐标系(N Normal D Device C Coordinates) 为了使图形处理过程做到与设备无关,通常采用一种虚拟设备的方法来处理,也就是图形处理的结果是按照一种虚拟设备的坐标规定耒输出的。这种设备坐标规定为0X1,0Y1,这种坐标系称之为规格化设备坐标系。3.2.2 规格化变换与设备坐标变换规格化变换与设备坐标变换 规格化变换 从窗口到视区的变换,称为规格化变换(Normalization Transformation)。xyoW(窗口)xyoV(视图区)wxLwxRwyBwyTvxLvxRvyBvyT
15、(wx,wy)(vx,vy)3.2.2 规格化变换与设备坐标变换规格化变换与设备坐标变换 (续续) 规格化变换 vx vxL wx wxL 由两图的比例关系: vxR vxL wxR wxL vy vyB wy wyB vyT vyB wyT wyB可得: vxR vxL wxR wxL vyT vyB wyT wyB = =vx = ( wx wxL ) + vxLvy = ( wy wyB ) + vyB3.2.2 规格化变换与设备坐标变换规格化变换与设备坐标变换 (续续) 窗口操作 视野的变化(zooming)。 摇镜头(panning)。 多重窗口(multiple window)。
16、3.2.2 规格化变换与设备坐标变换规格化变换与设备坐标变换 (续续) 从规格化坐标(NDC)到设备坐标(DC)的变换 通常采用的公式 xDCSxxNDCdx,yDCSyyNDCdy 方向的考虑 对设备坐标中像素中心的变换 3.2.3 投影变换投影变换 投影(project)是一种使三维对象映射为二维对象的变换。它可描述为project(object(x, y, z)object(x, y, z)投影的要素除投影对象、投影面外,还有投影线。按照投影线角度的不同,有两种基本投影方法: 平行投影(parallel projection)。它使用一组平行投影将三维对象投影到投影平面上去。 透视投影(
17、perspective projection)。它使用一组由投影中心产生的放射投影线,将三维对象投影到投影平面上去。3.2.3 投影变换投影变换 (续续)1 平行投影-正交平行投影(orthographic P. P.) 正投影的投影面与某一坐标轴垂直,而投影方向与该坐标轴的方向一致。 正投影的图形,在长宽高三个方向上的比例与实物保持一致,因此,常用于工程制图。yxz主视图侧视图俯视图3.2.3 投影变换投影变换 (续续)2 平行投影-斜交平行投影(oblique P. P.) 投影线与投影平面成交角 3.2.3 投影变换投影变换 (续续)3 透视投影变换 投影中心与投影平面之间的距离为有限参
18、数:投影方向例子:室内白炽灯的投影,视觉系统灭点:不平行于投影平面的平行线,经过透视投影之后收敛于一点,称为灭点.主灭点:平行于坐标轴的平行线的灭点。一点透视两点透视三点透视特点:产生近大远小的视觉效果,由它产生的图形深度感强,看起来更加真实。 3.2.3 投影变换投影变换 (续续)3 透视投影变换 3.2.3 投影变换投影变换 (续续)3 透视投影变换 设投影中心在坐标原点,投影面与 Z 轴垂直,在 z = d 的位置。点 P( x, y, z )在投影面上的投影为 P ( xp, yp, d )。 xp x yp y d z d z x z y z=,xp =yp =ddzxyoP(x,y
19、,z)PdyzPPoozPP d3.3.1 二维图元输出二维图元输出用户定义的二维图元的窗口区到视图区的输出过程如下所示:应用程序得到的坐标(UC)对窗口区进行裁剪(WC)窗口区到视图区的规格化变换(NDC)视图区的规格化坐标系到设备坐标系的变换(DC)调用基本图元生成算法在图形设备上输出图形3.3.2 输出属性及其控制输出属性及其控制 图元的输出属性 属性的组合控制 3.3.3 三维图元的输出三维图元的输出 定义一个视域坐标系统VCS,为此需指定如下数据: VCS坐标原点,也称View reference point。 VCS的z轴方向,也称view plane normal。 VCS的y轴方向,又称view up vector。yzWCSxxyzoVCS 将投影物体从世界坐标变换为视域坐标。 选择平行投影或透视投影进行投影变换。使得VCS的三维对象变为VCS中在yOx平面中的二维对象。 在VCS的yOx平面中取一个窗口,并定义相应的视区,进行标准化变换。