图形变换-投影变换.ppt
4.2 三维图形投影变换通常通常图形形输出出设备(显示器,示器,绘图仪等)等)都是二都是二维的,所以要将三的,所以要将三维坐坐标系下系下图形形上各点的坐上各点的坐标转化化为某一平面坐某一平面坐标系下的系下的二二维坐坐标。投影投影变换:把三把三维物体物体变为二二维图形表示的形表示的过程称程称为投影投影变换。投影平面投影平面三维场景生成步骤类似于照相机拍摄一张照三维场景生成步骤类似于照相机拍摄一张照片的过程,片的过程,s1、s2、s3可为任意指定平面可为任意指定平面指定一个投影面,再取景物面片上的一条指定一个投影面,再取景物面片上的一条线段段AB,把,把线段投影到投影面上段投影到投影面上,如如图:投影中心、投影中心、观察平面、投影察平面、投影线:透透视投影投影:物体位置沿收物体位置沿收敛于一点的直于一点的直线变换到到观察平面察平面,投影中心到投影中心到观察平面之察平面之间的的距离是有限的。距离是有限的。平行投影平行投影:物体位置沿平行物体位置沿平行线变换到到观察平察平面上面上,投影中心到投影中心到观察平面之察平面之间的距离是无的距离是无限的。限的。平面几何投影分为透视投影和平行投影平面几何投影分为透视投影和平行投影平行投影平行投影根据投影根据投影线方向与投影平面的方向与投影平面的夹角,平行角,平行投影分投影分为两两类:正投影和斜投影。正投影和斜投影。4.3.1 正投影正投影正投影又可分正投影又可分为:三:三视图和正和正轴测。当当观察平面与某一坐察平面与某一坐标轴垂直垂直时,得到的投,得到的投影影为三三视图;否;否则,得到的投影,得到的投影为正正轴测图。三三视图:正:正视图、侧视图和俯和俯视图 4.2.1.1 三视图三视图4.2.1.1 三视图三视图三三视图包括主包括主视图、侧视图和俯和俯视图三种,三种,观察平面分察平面分别与与Y轴、X轴和和Z轴垂直。垂直。把三把三维空空间的的图形在三个方向上所看到的棱形在三个方向上所看到的棱线分分别投影到三个坐投影到三个坐标面上。再面上。再经过适当适当变换放置到同一平面上。放置到同一平面上。计算步算步骤:(1)确定三确定三维物体上各点的位置坐物体上各点的位置坐标(2)引入引入齐次坐次坐标表示位置坐表示位置坐标(3)将所作将所作变换用矩用矩阵表示,通表示,通过矩矩阵运算求得运算求得三三维物体上各点物体上各点(x,y,z)经变换后的相后的相应点点(x,y)(xoy平面)或平面)或(y,z)(yoz平平面)面)(4)由由变换后的所有二后的所有二维点点绘出三出三维物体投影后物体投影后的三的三视图。三视图三视图1、主视图、主视图(V)面面将三将三维物体向物体向xoz面(又称面(又称V面)作垂直投影(即正平面)作垂直投影(即正平行投影),得到主行投影),得到主视图。设三维点为设三维点为(x,y,z),则正向投影点为则正向投影点为(x,y,z)三三维物体向物体向xoy面(又称面(又称H面面)作作垂直投影得到俯垂直投影得到俯视图,(1)投影投影变换(2)使使H面面绕x轴顺时针旋旋转90(3)使使H面沿面沿z方向平移一段距离方向平移一段距离-n2、俯视图(H)面三三维型型体体及及其其三三视图设三维点为(设三维点为(x,y,z),则正向投影点为),则正向投影点为(x,y,z)点在点在H面上投影的坐标变换为:面上投影的坐标变换为:3、侧视图侧视图(W面面)侧视图是将三维物体往侧视图是将三维物体往yoz面面(侧面侧面W)作垂直投影。)作垂直投影。(1)侧视图的投影变换侧视图的投影变换(2)使使W面绕面绕z轴逆时针旋转轴逆时针旋转90(3)使使W面沿负面沿负x方向平移一段距离方向平移一段距离-k点的点的侧面面(W)投影投影变换为:注意:注意:由上述我由上述我们可以看出可以看出,三个三个视图中中y均均为0,这是由于是由于变换后三个后三个视图均落在均落在XOZ平平面上的面上的缘故。故。因此,可用因此,可用x,z坐坐标直接画出三个直接画出三个视图。正正轴测有等有等轴测、正二、正二测和正三和正三测三种。三种。当当观察平面与三个坐察平面与三个坐标轴之之间的的夹角都角都相等相等时为等等轴测;当当观察平面与两个坐察平面与两个坐标轴之之间的的夹角相角相等等时为正二正二测;当当观察平面与三个坐察平面与三个坐标轴之之间的的夹角都不角都不相等相等时为正三正三测。4.2.1.2 正轴测图正轴测图正正轴测投影方式:投影方式:先将三先将三维实体分体分别绕两个坐两个坐标轴旋旋转一定的一定的角度,然后再向由角度,然后再向由这两个坐两个坐标轴所决定的坐所决定的坐标平面作正投影。平面作正投影。正正轴测投影有三种方式:投影有三种方式:二、先将三二、先将三维实体体绕X 轴和和Z 轴分分别旋旋转一定一定的角度的角度,然后再向然后再向XOZ平面平面(V 面面)作正投影;作正投影;三、先将三三、先将三维实体体绕Y 轴和和Z 轴分分别旋旋转一定一定的角度的角度,然后再向然后再向YOZ平面平面(W 面面)作正投影。作正投影。一、先将三一、先将三维实体体绕X 轴和和Y 轴分分别旋旋转一定一定的角度,然后再向的角度,然后再向XOY平面(平面(H 面)作正投影面)作正投影最常用的是第二种方式最常用的是第二种方式第二种方式的正第二种方式的正轴测投影投影过程程为:将三将三维实体体绕Z轴逆逆时针转角;角;将三将三维实体体绕X轴顺时针转角;角;向向XOZ平面(平面(V面)作正投影。面)作正投影。1、正、正轴测投影投影变换矩矩阵 2轴向变形系数轴向变形系数 原原坐坐标轴经轴测投投影影变换后后,其其在在V面面上上的的投投影影长度度发生生变化化,我我们把把OX/OX=x,OY/OY=y,OZ/OZ=z 分分别称称为OX轴,OY轴和和OZ轴的的轴向向变形系数。形系数。为了便于了便于讨论,沿沿X,Y,Z方向各取一方向各取一单位位长度度,可得三点的可得三点的齐次坐次坐标分分别为:A1 0 0 1,B0 1 0 1,C0 0 1 1。对其其进行正行正轴测投影投影变换,变换得:得:X,y,z三个轴向的变形系数为:三个轴向的变形系数为:3正等轴测投影变换正等轴测投影变换 所所谓正正等等轴测投投影影就就是是当当x=y=z时所所得到的正等得到的正等轴测图。由。由x=y=z 得:得:由由得:得:即即:()取取 在正在正轴测投影投影变换中中,一般地一般地 ,即,即 所以:所以:取取 将将 代入代入 中得:中得:将将 代入代入 得到正等得到正等轴测投影投影变换矩矩阵为:轴间变形系数:形系数:因此正等因此正等轴测投影投影变换就是用就是用图形点集形点集X Y Z 1TISO即可。即可。例:若有一个边长为例:若有一个边长为100的正六面的正六面体,其各顶点坐标为体,其各顶点坐标为:O(0,0,0),A(0,0,100),B(100,0,100),C(100,100,100),D(0,100,100),E(100,0,0),F(100,100,0),G(0,100,0)。现对它进行正等轴测投影现对它进行正等轴测投影4正二轴测投影变换正二轴测投影变换由由 得:得:代入代入 ,解得:,解得:正二轴测图其轴向变形系数有如下关系:正二轴测图其轴向变形系数有如下关系:则:则:将将 代代入入 ,得得正正二二轴轴测测投投影影变变换矩阵:换矩阵:轴向变形系数:轴向变形系数:因此正二轴测投影变换就是用图形点集因此正二轴测投影变换就是用图形点集X Y Z 1T正二正二即即可。可。例:若有一个边长为例:若有一个边长为100的正立方的正立方面体,其各顶点坐标为面体,其各顶点坐标为O(0,0,0),A(0,0,100),B(100,0,100),C(100,100,100),D(0,100,100),E(100,0,0),F(100,100,0),G(0,100,0)。对立方体立方体进行正二行正二轴测投影投影变换为斜投影斜投影图,即斜,即斜轴测图,是将三,是将三维物体向物体向一个一个单一的一的观察平面作平行投影,但投影方察平面作平行投影,但投影方向不垂直于向不垂直于观察平面所得到的平面察平面所得到的平面图形。形。常用的斜常用的斜轴测图有斜等有斜等测图和斜二和斜二测图。4.2.2 斜投影斜投影斜斜平平行行投投影影斜轴测图的形成即:斜等斜等测投影投影变换矩矩阵一一斜等斜等测投影投影变换矩矩阵二二斜二测投影变换矩阵一斜二测投影变换矩阵二透透视投投影影是是一一种种中中心心投投影影法法,在在日日常常生生活活中中,我我们观察察外外界界的的景景物物时,常常会会看看到到一一些些明明显的透的透视现象。象。如如:站站在在笔笔直直的的大大街街上上,向向远处看看去去,会会感感到到街街上上具具有有相相同同高高度度的的路路灯灯柱柱子子,显得得近近处高高,远处矮矮,越越远越越矮矮。这些些路路灯灯柱柱子子,即即使使它它们间的的距距离离相相等等,但但是是视觉产生生的的效效果果是是近近处的的间隔隔显得得大大,远处的的间隔隔显得得小小,越越远越越密密。观察察道道路路的的宽度度,也也会会感感到到越越远越越窄窄,最最后后汇聚于一点。聚于一点。这些些现象象,称之称之为透透视现象。象。透视投影变换透视投影变换图中中,AA,BB,CC为一一组高高度度和和间隔隔都都相相等等,排成一条直排成一条直线的的电线杆杆,从从视点点E去看去看,发现 AEA BEB CEC 若若在在视点点E与与物物体体间设置置一一个个透透明明的的画画面面P,则在在画面上看到的各画面上看到的各电线杆的投影杆的投影aabbccaa即即EA,EA与画面与画面P的交点的的交点的连线;bb即即为EB,EB与画面与画面P的交点的的交点的连线。cc 即即为EC,EC与画面与画面P的交点的的交点的连线。近大近大远小小产生透视的原因,可用下图来说明:产生透视的原因,可用下图来说明:若若连a,b,c及及a,b,c各点,它各点,它们的的连线汇聚于一点。聚于一点。然然而而,实际上上,A,B,C与与A,B,C 的的连线是是两两条条互互相相平平行行的的直直线,这说明明空空间不不平平行行于于画画面面(投投影影面面)的的一一切切平平行行线的的透透视投投影影,即即a,b,c与与a,b,c的的连线,必交于一点必交于一点,这点我点我们称之称之为灭点。点。透透视投影投影投影中心与投影平面之投影中心与投影平面之间的距离的距离为有限有限特点:特点:产生近大生近大远小的小的视觉效果,由它效果,由它产生的生的图形深度感形深度感强,看起来更加真,看起来更加真实。灭点:不平行于投影平面的平行点:不平行于投影平面的平行线,经过透透视投影之后收投影之后收敛于一点,称于一点,称为灭点点.主主灭点点:平行于坐平行于坐标轴的平行的平行线产生的生的灭点点一点透一点透视、两点透、两点透视、三点透、三点透视主主灭点数是和投影平面切割坐点数是和投影平面切割坐标轴的数量相的数量相对应的的,即由坐即由坐标轴与投影平面交点的数量来决与投影平面交点的数量来决定定的。的。如投影平面如投影平面仅切割切割z轴,则z轴是投影平面是投影平面的法的法线,因而只在因而只在z轴上有一个主上有一个主灭点点,平行于平行于x轴或或y轴的直的直线也平行于投影平面也平行于投影平面,因而没有主因而没有主灭点。点。yxzo一点透视(平行透视)一点透视(平行透视)人眼从正面去人眼从正面去观察一个立方体察一个立方体,当当z轴与投影与投影平面垂直平面垂直时,另两根另两根轴ox,oy轴平行于投影平平行于投影平面。面。这时的立方体透的立方体透视图只有一个主只有一个主灭点点,即与画面垂直的那即与画面垂直的那组平行平行线的透的透视投影交于投影交于一点。一点。二点透视(成角透视)二点透视(成角透视)人人眼眼观看看的的立立方方体体是是绕y轴旋旋转一一个个角角度度之之后后,再再进行行透透视投投影影。三三坐坐标轴中中oy轴与与投投影影平平面面平平行行,而而其其它它两两轴与与画画面面倾斜斜,这时除除平平行行于于oy轴的的那那组平平行行线外外,其其它它两两组平平行行线的的透透视投投影影分分别在在投投影影平平面面的的左左右右两两侧,作出的立方体透作出的立方体透视图产生两个主生两个主灭点。点。三点透视(斜透视)三点透视(斜透视)此此时,投影平面与三坐,投影平面与三坐标轴均不平行。均不平行。这时的三的三组平行平行线均均产生生灭点。点。透视举例1、一点透视投影变换矩阵、一点透视投影变换矩阵(1)设z轴上有一上有一观察点(即察点(即视点)点)V(0,0,h)从从V点点出出发将将空空间任任意意一一点点P(x,y,z)投投影影到到XOY平面上得到平面上得到P(x,y,0)由相似三角形可知:由相似三角形可知:令:变换矩矩阵为 齐次坐次坐标变换 它可以看作是先作它可以看作是先作变换 再作再作变换 的合成。的合成。在透视变换Tr下有:当z时,x 0,y 0,z-h(0,0,-h)为该透视的一个主灭点。(2)视点点在在(h,0,0)的的透透视变换,主主灭点点在在(-h,0,0)透透视投影投影变换矩矩阵为:(3)视点点在在(0,h,0)的的透透视变换,主主灭点点在在(0,-h,0)透透视投影投影变换矩矩阵为:在在变换矩矩阵中中,第第四四列列的的p,q,r起起透透视变换作用作用用用Tp、Tq、Tr、表示三个透表示三个透视投影投影变换矩矩阵当当p、q、r中有一个不中有一个不为0时的的变换。假定假定q!=0,p=r=0.对空空间上任一点上任一点(x,y,z)进行透行透视变换结果如下:果如下:对该结果果进行行规范化范化处理后,便得:理后,便得:习惯上使用习惯上使用XOZ面作为投影平面面作为投影平面 为了增了增强透透视效果,通常将物体置于画面效果,通常将物体置于画面V之后,水平面之后,水平面H之下,若物体不在之下,若物体不在该位置位置时,应首首先把物体平移到此位置,然后再先把物体平移到此位置,然后再进行透行透视投影投影变换。q的的选择决定了决定了视点的位置,一般点的位置,一般选择视点位点位于画面于画面V之前。之前。T1=Tt*Tq*Txoz=例:有一个边长为例:有一个边长为100的正六面体,其的正六面体,其各顶点坐标为各顶点坐标为O(0,0,0),),A(0,0,100),),B(100,0,100),C(100,100,100),D(0,100,100),E(100,0,0),F(100,100,0),G(0,100,0)。)。令令a=60,b=-120,c=-120,q=-0.5在在变换矩矩阵中,第四列的中,第四列的p,q,r起透起透视变换作用作用当当p、q、r中有两个不中有两个不为0时的透的透视变换称称为二二点透点透视变换。假假设p!=0,q!=0,r=0,将空,将空间上一点上一点(x,y,z)进行行变换,可得如下,可得如下结果:果:、二点透视投影变换矩阵二点透视投影变换矩阵由上式可看出:由上式可看出:当当x-时,在,在X轴上上 处有一个有一个灭点;点;当当y-时,在,在Y轴上上 处有一个有一个灭点;点;经齐次化处理后得:1/p1/q为了使二点透了使二点透视后的投影有一恰当的位置,通常后的投影有一恰当的位置,通常采取平移、透采取平移、透视(Tp和和Tq)、绕Z轴正正转 角、再向角、再向XOZ平面投影。平面投影。平移:平移:设平移量分平移量分别为a、b、c;透透视变换:变换矩矩阵为Tpq;绕Z轴正正转 角;角;向向XOZ平面投影。平面投影。变换结果如图所示。变换结果如图所示。ZXO若若p,q,r都都不不为0,则可可得得到到有有三三个个灭点点的的三三点透点透视。经齐次化处理后得:3、三点透视投影变换矩阵三点透视投影变换矩阵由上式可看出:由上式可看出:当当x-时,在,在X轴上上1/p处有一个有一个灭点;点;当当y-时,在,在Y轴上上1/q处有一个有一个灭点点;当当z-时,在,在Z轴上上1/r处有一个有一个灭点;点;4.3 窗口视区变换窗口视区变换 4.3.1 坐标系坐标系 世世界界坐坐标系系(World Coordinate System,简称称WC)是是最最常常用用的的坐坐标系系,它它是是一一个个符符合合右右手手定定则的的直直角角坐坐标系系,其其中中图4.25(a)是是定定义二二维图形形的的坐坐标系系,图4.25(b)是是定定义三三维物物体体的坐的坐标。1世界坐标系世界坐标系YXOYXOZ图4.254.25世界坐世界坐标系系 世界坐世界坐标系是用来定系是用来定义用用户在二在二维或三或三维世界中的物体世界中的物体,因此也称因此也称为用用户坐坐标系。系。理理论上,世界坐上,世界坐标系是无限大且系是无限大且连续的,即的,即它的定它的定义域域为实数域。数域。图形形输出出设备(如如显示示器器、绘图仪)自自身身 都都 有有 一一 个个 坐坐 标 系系 称称 之之 为 设 备 坐坐 标 系系(Device Coordinate System),简称称DC或或物物理理坐坐标系。系。2设备坐标系设备坐标系 设备坐坐标系是一个二系是一个二维平面坐平面坐标系系,它的它的度量度量单位是步位是步长(绘图仪)或象素或象素(显示器示器),因此它的定因此它的定义域是整数域且是有界的。例如,域是整数域且是有界的。例如,对显示器而言,分示器而言,分辩率就是其率就是其设备坐坐标系的系的界限范界限范围。由由于于用用户的的图形形是是定定义在在用用户坐坐标系系里里,而而图形形的的输出出定定义在在设备坐坐标系系里里,它它依依赖于于具具体体的的图形形设备。由由于于不不同同的的图形形设备具具有有不不同同的的设备坐坐标系系,且不同且不同设备之之间坐坐标范范围也不尽相同也不尽相同.例例如如:分分辨辨率率为1024768的的显示示器器,其其屏屏幕幕坐坐标范范围为:X方方向向01023,Y方方向向0767,而而分分辨辨率率为640480的的显示示器器,其其屏屏幕幕坐坐标范范围为:X方方向向0639,Y方方向向0479,显然然这使使得得应用用程程序序与与具具体体的的图形形输出出设备有有关关,给图形形处理理及及应用用程程序序的的移移植植带来不便。来不便。3规格化设备坐标系规格化设备坐标系为了便于了便于图形形处理,有必要定理,有必要定义一个一个标准准设备,我,我们引入与引入与设备无关的无关的规格化的格化的设备坐坐标系(系(Normalized Device Coordinate System,简称称NDC),采用一种无量),采用一种无量纲的的单位代替位代替设备坐坐标,当,当输出出图形形时,再,再转换为具体的具体的设备坐坐标。规格化格化设备坐坐标系的取系的取值范范围为:左下角左下角(0.0,0.0),右上角右上角(1.0,1.0)。用。用户的的图形数据形数据经转换成成规格化的格化的设备坐坐标系中的系中的值,使使应用程用程序与序与图形形设备隔离开隔离开,增增强了了应用程序的可移用程序的可移值性。性。在在图形形处理中,上述三种坐理中,上述三种坐标系的系的转换关关系如系如图4.26所示。所示。YXOYXO11YXO图4.26WC4.26WC、NDCNDC和和DCDC三种坐三种坐标系的系的转换 4.3.2 窗口与视区窗口与视区 1窗口窗口 在在计算算机机中中,窗窗口口是是图形形的的可可见部部分分,是是在在用用户坐坐标系系中中定定义的的确确定定显示示内内容容的的一一个个矩矩形形区区域域,只只有有在在这个个区区域域内内的的图形形才才能能在在设备坐坐标系系下下输出出,而而窗窗口口外外的的部部分分则被裁掉。被裁掉。如如图4.27所示,我所示,我们用矩形的左下角点的用矩形的左下角点的坐坐标(Wxl,Wyb)和右上角点的坐和右上角点的坐标(Wxr,Wyt)来来确定窗口的大小和位置,通确定窗口的大小和位置,通过改改变窗口的大窗口的大小、位置和比例,可以方便地小、位置和比例,可以方便地观察局部察局部图形,形,控制控制图形的大小。形的大小。YXOWxlWxrWybWyt(Wxl,Wyb)(Wxr,Wyt)图4.4.2727窗窗口口的的定定义 视区区是是在在设备坐坐标系系(通通常常是是屏屏幕幕)中中定定义的的一一个个矩矩形形区区域域,用用于于输出出窗窗口口中中的的图形形。视区区决决定了窗口中的定了窗口中的图形要形要显示于屏幕上的位置和大小。示于屏幕上的位置和大小。2.视区视区 视区是一个有限的整数域,它区是一个有限的整数域,它应小于等于屏小于等于屏幕区域。幕区域。这样可以在同一屏幕上定可以在同一屏幕上定义多个多个视区区,用用来同来同时显示不同的示不同的图形信息。例形信息。例图4.28表示在同一表示在同一屏幕上定屏幕上定义了四个了四个视区,分区,分别代表一个机械零件的代表一个机械零件的正正视图,侧视图、俯、俯视图和和轴测图。图4.284.28一个三一个三维物体的多物体的多视图 4.3.3 窗口窗口-视区变换视区变换 由于窗口和由于窗口和视区是在不同的坐区是在不同的坐标系中定系中定义的的,因此因此,在把窗口中的在把窗口中的图形信息送到形信息送到视区去区去输出之前,出之前,必必须进行坐行坐标变换,即把用,即把用户坐坐标系的坐系的坐标值转化化为设备(屏幕)坐(屏幕)坐标系的坐系的坐标值,这个个变换即即为窗口窗口-视区区变换。如如图4.29所示,所示,设在用在用户坐坐标系下定系下定义的窗的窗口口为:左下角点坐:左下角点坐标(Wxl,Wyb),右上角点坐右上角点坐标(Wxr,Wyt);在;在设备坐坐标系中定系中定义的的视区区为:左下:左下角点坐角点坐标(Vxl,Vyb),右上角点坐右上角点坐标(Vxr,Vyt)。YwXWWxlWxrWytWybO(xW,yW)YVXVVytVybVxlVxr(xV,yV)O图4.294.29窗口窗口-视区区变换 由图可知,在用户坐标系中的点(由图可知,在用户坐标系中的点(xw,yw)投影到)投影到设备坐标系中的点(设备坐标系中的点(xv,yv),有下列等式:),有下列等式:(4-1)由(由(5-1)式得窗口中一点)式得窗口中一点W(xw,yw)变换到视区)变换到视区中对应的点中对应的点V(xv,yv)二者之间的关系为:)二者之间的关系为:(4-2)设设:则则(5-2)式可写成:式可写成:(4-3)写成矩阵为:写成矩阵为:(4-4)4.4 视向变换视向变换4.4.1 世界坐标系和观察坐标系世界坐标系和观察坐标系这里再引里再引进一种新的参考坐一种新的参考坐标系,系,这种坐种坐标系比系比较符合人符合人们在三在三维空空间中中观察物体和察物体和绘图的的习惯。这个个习惯包括包括这样两点:两点:当当观察空察空间某一物体某一物体时,该物体与物体与视点之点之间距离的大小反映了物体离我距离的大小反映了物体离我们的的远近,称近,称该距离距离为“观察深度察深度”或或简称深度。称深度。这个深度个深度应该在新坐在新坐标系里的某个坐系里的某个坐标轴上得到相上得到相应的体的体现:即深度大,:即深度大,该坐坐标值应大;反之,深度小,大;反之,深度小,则该坐坐标值应小。小。我我们平常在平常在图纸上上绘图时,二,二维绘图坐坐标系系的位置一般使坐的位置一般使坐标系的原点在系的原点在图纸的左下角,然后的左下角,然后让x轴自原点水平向右,自原点水平向右,让y轴自原点垂直向上。自原点垂直向上。这比比较符合人符合人们平常看平常看图和作和作图的的习惯。为满足足这一一习惯,我,我们可以可以让新的坐新的坐标系中有一根坐系中有一根坐标轴自左自左水平向右,而水平向右,而让另一根坐另一根坐标轴自下垂直向上,以使自下垂直向上,以使这两根坐两根坐标轴确定的坐确定的坐标平面和二平面和二维绘图平面相平面相对应,使三,使三维立体在立体在这个坐个坐标平面上平面上产生的投影能与生的投影能与图形形输出平面上出平面上输出的出的图形之形之间产生直生直观的的对应。这样就就给三三维立体的二立体的二维表示表示带来了极大的方便。来了极大的方便。显显然然,满满足足以以上上要要求求的的坐坐标标系系列列化化可可以以通通过过以以下下的的方方法法来设置:来设置:把坐把坐标系原点系原点设置在置在观察点(即察点(即视点点处),让坐坐标系中的一根坐系中的一根坐标轴从从该原点出原点出发,顺着着观察方向指向察方向指向远方。那么方。那么该坐坐标轴上的坐上的坐标就反映就反映了空了空间立体的立体的观察深度的大小,察深度的大小,该轴即即为深度坐深度坐标轴,在,在这里我里我们指定由指定由z轴来做深度坐来做深度坐标轴。然后然后让另外两根坐另外两根坐标轴中的一根自中的一根自该原点原点水平向右;另一根自原点向上。水平向右;另一根自原点向上。为了和了和图形形输出出平面坐平面坐标系系统直接直接对应,把水平向右的,把水平向右的轴设置置为x轴,而把向上的坐,而把向上的坐标轴设置置为y轴。这个新的参考坐个新的参考坐标系是一个符合左手系是一个符合左手规则的的笛卡笛卡尔坐坐标系系,我我们称称这个坐个坐标系系为“观察坐察坐标系系”。建立一个建立一个观察坐察坐标系系,主要取决于两个因素主要取决于两个因素:一一个是个是观察点的位置察点的位置,因因为观察点的位置决定了坐察点的位置决定了坐标系原点位置系原点位置;另一个是另一个是观察方向察方向,它决定了深度坐它决定了深度坐标轴的指向。的指向。观察点和察点和观察方向是可以由察方向是可以由观察者随意定的,察者随意定的,即即观察点可以察点可以设置在空置在空间的任意位置,的任意位置,观察方向察方向可以朝向任何一个方向,于是可以朝向任何一个方向,于是观察坐察坐标系也是随系也是随意的。意的。为了了简化化问题,我,我们在在这里作了一个假定:里作了一个假定:观察点可以察点可以设置在空置在空间的任何位置,但的任何位置,但观察方向察方向总是指向世界坐是指向世界坐标系的原点。系的原点。视向变换矩阵视向变换矩阵 把世界坐把世界坐标系中的点系中的点P(x,y,z)转换为观察坐察坐标系中的点系中的点P*(x*,y*,z*)的的过程称程称为“视向向变换”。视向向变换也是一种坐也是一种坐标变换,可以用矩,可以用矩阵的形式的形式表示表示为:x*y*z*1=x y z 1V式中的式中的V称称为视向向变换矩矩阵。因。因为视向向变换是不能是不能靠一次靠一次单一的一的简单变换就可以就可以实现的,所以的,所以视向向变换矩矩阵V是一个包括平移和旋是一个包括平移和旋转的多次的多次变换的的级联。视向变换矩阵视向变换矩阵V的推导过程如下:的推导过程如下:因因为观察坐察坐标系的原点系的原点设置在置在观察点,所察点,所以一旦以一旦选定了定了观察点,察点,观察坐察坐标系的原点也就确系的原点也就确定了。定了。这一步把坐一步把坐标系原点系原点变到到观察点位置的察点位置的变换,是通,是通过把坐把坐标系原点从世界坐系原点从世界坐标系的原点平系的原点平移到移到观察点察点E(x,y,z)来完成的。)来完成的。ZWXWYWOXZYEZWXWYWOEXZY图4.304.30坐坐标平移(左)和平移(左)和绕x x轴旋旋转(右右)第二步是将第二步是将经过平移后的坐平移后的坐标系系绕x轴逆逆时针旋旋转90,改,改变y轴和和z轴的指向,使得的指向,使得y轴垂垂直向上,直向上,z轴垂直指向垂直指向xwozw坐坐标平面,如平面,如图4.30(右)所示的那(右)所示的那样,该旋旋转变换矩矩阵为:第第三三步步是是将将经过上上两两次次变换后后的的坐坐标系系绕y轴顺时针旋旋转一一个个值为的的角角度度,使使得得新新坐坐标系系的的z轴垂垂直直指指向向原原来来世世界界坐坐标系系的的zw 轴,见图4.31(左)所示。(左)所示。其其矩矩阵阵中中的的三三角角函函数数值值可可以以用用直直角角三三角角形形的的关关系求得。即:系求得。即:第四步是将第四步是将经过以上三次以上三次变换后的坐后的坐标系再系再一次一次绕x轴逆逆时针旋旋转角,将新坐角,将新坐标系的系的z轴指向指向原世界坐原世界坐标系的原点,系的原点,见图4.31(右)所示。(右)所示。OZWXWYwEYZXOZWXWYwEYZX图4.314.31绕y y轴旋旋转(左)和(左)和绕x x轴旋旋转(右)(右)这次旋转的变换矩阵为:这次旋转的变换矩阵为:同同样样可可以以由由直直角角三三角角形形的的关关系系推推导导出出矩矩阵阵中中三三角角函函数数的值:的值:经过以上的四次变换后,我们已经使得新的坐标系经过以上的四次变换后,我们已经使得新的坐标系的原点放置到了观察点,并使的原点放置到了观察点,并使z轴指向了原世界坐标系的原轴指向了原世界坐标系的原点(观察点),点(观察点),y轴指向上面。轴指向上面。唯唯一一所所差差的的是是x轴轴还还未未变变为为指指向向右右边边。所所以以这这最最后后的的一一步步变变换换是是要要调调整整x轴轴的的指指向向,使使其其由由原原来来指指向向左左边边改改变变成成指指向向右右边边。从从而而最最终终使使得得坐坐标标系系由由原原来来的的右右手手系系改改变变成成了左手系,完成了视向变换的全过程。了左手系,完成了视向变换的全过程。实现改变实现改变x轴指向的变换矩阵为:轴指向的变换矩阵为:先后经过上述的五次变换,实现了由原来世界坐标先后经过上述的五次变换,实现了由原来世界坐标系到观察坐标系的转变,从而完成了视向变换,所以视系到观察坐标系的转变,从而完成了视向变换,所以视向变换矩阵向变换矩阵V就是上面五个基本变换矩阵的级联,即:就是上面五个基本变换矩阵的级联,即:x,y,z为观察点的三坐标值。为观察点的三坐标值。式中:式中: