计算机图形学ppt课件第三章图形变换与输出.ppt

上传人:小飞机 文档编号:6023493 上传时间:2023-09-15 格式:PPT 页数:73 大小:267.50KB
返回 下载 相关 举报
计算机图形学ppt课件第三章图形变换与输出.ppt_第1页
第1页 / 共73页
计算机图形学ppt课件第三章图形变换与输出.ppt_第2页
第2页 / 共73页
计算机图形学ppt课件第三章图形变换与输出.ppt_第3页
第3页 / 共73页
计算机图形学ppt课件第三章图形变换与输出.ppt_第4页
第4页 / 共73页
计算机图形学ppt课件第三章图形变换与输出.ppt_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《计算机图形学ppt课件第三章图形变换与输出.ppt》由会员分享,可在线阅读,更多相关《计算机图形学ppt课件第三章图形变换与输出.ppt(73页珍藏版)》请在三一办公上搜索。

1、第三章 图形变换与输出,变换的数学基础,矢量矢量和,变换的数学基础,矢量的数乘 矢量的点积性质,变换的数学基础,矢量的长度 单位矢量 矢量的夹角矢量的叉积,变换的数学基础,矩阵 阶矩阵n阶方阵零矩阵行向量与列向量单位矩阵矩阵的加法 矩阵的数乘 矩阵的乘法 矩阵的转置 矩阵的逆,矩阵的含义矩阵:由mn个数按一定位置排列的一个 整体,简称mn矩阵。,A=,其中,aij称为矩阵A的第i行第j列元素,变换的数学基础,矩阵运算加法设A,B为两个具有相同行和列元素的矩阵A+B=数乘kA=k*aij|i=1.m,j=1,.n,变换的数学基础,乘法设A为32矩阵,B为23矩阵 C=A B=C=Cmp=Am n

2、 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(aA)T=aAT(AB)T=BT AT 当A为n阶矩阵,且A=AT,则 A是对称矩阵。,变换的数学基础,矩阵运算的基本性质交换律与结合律 A+B=B+A;A+(B+C)=(A+B)+C数乘的分配律及结合律 a(A

3、+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维向量(P1,P2,Pn)表示为(hP1,hP2,hPn,h),其中h称为哑坐标。1、h可以取不同的值,所以同一点的齐次坐标不是唯一的。如普通坐标系下的点(2,3)变换为齐次坐标可以是(1,1.5,0.5)(4,6,2)(6,9,3)等等。2、普通坐标与齐次坐标的关系为

4、“一对多”由普通坐标h齐次坐标由齐次坐标h普通坐标 3、当h=1时产生的齐次坐标称为“规格化坐标”,因为前n个坐标就是普通坐标系下的n维坐标。,齐次坐标,齐次坐标,(x,y)点对应的齐次坐标为(x,y)点对应的齐次坐标为三维空间的一条直线,1.将各种变换用阶数统一的矩阵来表示。提供了用矩阵运算把二维、三维甚至高维空间上的一个点从一个坐标系变换到另一坐标系的有效方法。2.便于表示无穷远点。例如:(x h,y h,h),令h等于03.齐次坐标变换矩阵形式把直线变换成直线段,平面变换成平面,多边形变换成多边形,多面体变换成多面体。4.变换具有统一表示形式的优点便于变换合成便于硬件实现,齐次坐标的作用

5、,窗口视图变换,用户域和窗口区1 用户域:程序员用来定义草图的整个自然空间(WD)a 人们所要描述的图形均在用户域中定义。b 用户域是一个实数域,理论上是连续无限的。2 窗口区:用户指定的任一区域(W)a 窗口区W小于或等于用户域WD b 小于用户域的窗口区W叫做用户域的子域。c 窗口可以有多种类型,矩形窗口、圆形窗口、多边形窗口等等 d 窗口可以嵌套,即在第一层窗口中可再定义第二层窗口,在第I层窗口中可再定义第I+1层窗口等等。,窗口视图变换,1 屏幕域(DC):设备输出图形的最大区域,是有限的整数域。如图形显示器分辨率为1024768DC0.10230.7672 视图区:任何小于或等于屏幕

6、域的区域 a 视图区用设备坐标定义在屏幕域中 b 窗口区显示在视图区,需做窗口区到视图区的坐标转换。c 视图区可以有多种类型:圆形、矩形、多边形等。d 视图区也可以嵌套。,窗口区和视图区的坐标变换,设窗口的四条边界WXL,WXR,WYB,WYT视图的四条边界VXL,VXR,VYB,VYT则用户坐标系下的点(即窗口内的一点)(Xw,Yw)对应屏幕视图区中的点(Xs,Ys),其变换公式为,窗口区和视图区的坐标变换,简化为:1)当ac时,即x 方向的变化与y方向的变化不同时,视图中的图形会有伸缩变化,图形变形。2)当a=c=1,b=d=0则Xs=Xw,Ys=Yw,图形完全相同。思考:前面讲的窗口视图

7、变换时,假设窗口的边和坐标轴平行,如果窗口的边不和坐标轴平行呢?,窗口区和视图区的坐标变换,A.先让窗口FGHI转-角,使它和FGHI重合。B.用(1)式进行计算。,图形变换是计算机图形学基础内容之一。几何变换,投影变换,视窗变换线性变换,属性不变,拓扑关系不变。作用:把用户坐标系与设备坐标系联系起来;可由简单图形生成复杂图形;可用二维图形表示三维形体;动态显示。,图形变换,二维图形的显示流程图,图形的几何变换,图形变换:对图形的几何信息经过几何变换后产生新的图形。图形变换的两种形式:1.图形不变,坐标系改变;2.图形改变,坐标系不变。我们所讨论的是针对坐标系的改变而讲的。,图形变换一般是指将

8、图形的几何信息经过几何变换后产生新的图形。图形变换既可以看做是图形不动而坐标系变动,变动后该图形在新的坐标系下具有新的坐标值;也可以看作是坐标系不动而图形变动,变动后的图形在坐标系中的坐标值发生变化。线框图形的变换,通常是以点变换为基础,把图形的一系列顶点做几何变换后,连接新的顶点序列,即可产生新的变换后的图形。对于用参数方程描述的图形,可以通过参数方程几何变换,实现对图形的变换。图形学中,实现图形变换时通常采用齐次坐标系来表示坐标值,可方便的用变换矩阵实现对图形的变换。齐次坐标表示法,就是用n+1维矢量表示一个n维矢量,即n维空间中的点的位置矢量(P1,P2Pn)被表示为具有n+1个坐标分量

9、的矢量(hp1,hp2hpn,h)。,齐次坐标表示法一方面可以表达无数远点;另一方面提供了把矩阵运算把二维三维甚至高维空间中一个点集从一个坐标系变换到另一个坐标系的有效方法。这里讨论的几何变换都是在齐次坐标下。,3.1图形的几何变换基本的几何变换研究物体坐标在直角坐标系内的平移、旋转和变比的规律。基本变换可分为二维几何变换和三维几何变换两大类。对于参数表示的曲线曲面等图形的变换,基于效率的考虑,一般对其参数做变换来实现对整个图形的变换,而不是逐点进行变换。二维图形几何变换1、基本变换(1)平移(Translation),平移是将对象从一个位置(x,y)移到另一个位置(x,y)的变换。Tx=x-

10、x,Ty=y-y称为平移距离。平移变换公式为:,(x,y),(x,y),0,X,Y,图3.1 平移,(2)旋转(Rotation)旋转是以某个参考点为圆心,将对象上的各点(x,y)围绕圆心转动一个逆时针角度,变为新的坐标(x,y)的变换。当参考点为(0,0)时,旋转的公式为:,因为x=rcosa,y=rsina,所以上式可转化为:,如果参考点不是(0,0),而是任意一点(xr,yr),那么绕(xr,yr)点的旋转由3个步骤:A、将对象平移Tx=-xr,Ty=-yrB、按式(3.2)做旋转变换C、平移Tx=xr,Ty=yr。组合这3个步骤的公式为,(3.2),a,(x,y),(x,y),0,Y,

11、X,图3.2 旋转,(3)变比(Scaling)变比是使对象按比例因子(Sx,Sy)放大或缩小的变换,公式:,按式(3.3)做变比变换时,不仅对象的大小变换,而且,对象离原点的距离也发生了变换。如果只希望变换对象的大小,而不改变对象离原点的距离,称为固定点变比(Scaling Relative to a Fixed Point)。以a为固定点进行变比的方法:1、做平移Tx=-xa,Ty=-ya2、按式(3.3)做变比3、做(1)的逆变换,即做平移Tx=xa,Ty=ya,(3.3),(x,y),(x,y),Y,0,X,图3.3 变比,当变比因子Sx或Sy小于0时,对象不仅变化太小,而且分别按x轴

12、或y轴被反射。下图(a)表示当Sy=-1,Sx=1时的变化,按x轴反射;(b)表示当Sy=1,Sx=-1时的变化,按y轴反射;(c)表示当Sx=-1,Sy=-1时按原点(0,0)反射。,X,(a)x轴反射,X,X,(b)y轴反射,(c)原点反射,2、变换矩阵上述三种基本变换公式都可以表示为33的变换矩阵和齐次坐标相乘的形式。1)平移的矩阵运算形式,简记为p=p.T(Tx,Ty)。其中,p=x,y,1,p=x,y,1,表示平移矩阵。2)旋转的矩阵运算表示为,简记为p=p.R(),其中R()表示旋转矩阵。3)变比的矩阵运算表示为,简记为p=p.S(Sx,Sy),其中S(Sx,Sy)表示变比矩阵。3

13、、级联变换(Composite Transformation)由基本变换构成的连续变换序列称为级联变换。一个比较复杂的变换需要连续的进行若干个基本变换才能实现,也就是要经过级联变换。变换的矩阵形式使得级联变换的工作量大为减少。以绕任意点旋转变换为例,本应该进行如下3次变换:,(3.4),(3.5),(3.6),将式(3.4)(3.5)代入(3.6)得,令,Tc称为级联变换矩阵。3.1.2 三维图形几何变换1、旋转分为三种基本旋转:绕Z、Y、X旋转。下述旋转公式设旋转的参考点在所绕的轴上,绕轴转角,方向是从轴所指处往原点看是逆时针。,1、绕Z轴旋转的公式(简记Rz()),矩阵运算的表达式,2、绕

14、X轴旋转的公式(简记Rx()),3、绕y轴旋转的公式(简记Ry()),如果旋转所绕的轴不是坐标轴,而是一条任意轴。首先,对旋转轴做平移和绕轴旋转变换,使得所绕之轴与某一条标准轴重合;然后,绕该标准坐标轴做所需角度的旋转;最后,通过逆变换使所绕之轴恢复到原来位置。需要7个基本变换的级联才能完成。,Rx(a),Ry(),a,Rz(),x,x,x,x,x,y,y,y,y,y,z,z,z,z,z,p2,p2,p2,p1,p2,p2,p1,p1,(a)初始状态,(b)p1点与原点重合,p1,(c)p1p2落入平面xoz,(d)p1p2与Z轴重合,(e)绕p1p2轴角旋转,p1,2、旋转设Sx,Sy,Sz

15、是3个坐标轴方向的比例因子,则有:,矩阵的表示为,简记为S(Sx,Sy,Sz),对于某个非原点参数点(Xf,Yf,Zf)进行固定点变比变换,是通过如下级联变换实现的:,下面介绍三维几何变换的指令,与二维几何变换类似,也有3条指令,分别如下:1、建立变换矩阵的指令Creat-transformation-matrix(Xf,Yf,Zf,Sx,Sy,Sz,Xr1,Yr1,Zr1,Xr2,Yr2,Zr2,a,Tx,Ty,Tz,matrix)其中,Xf,Yf,Zf是固定点变比的固定坐标;Sx,Sy,Sz是变比参数;Xr1,Yr1,Zr1,Xr2,Yr2,Zr2是旋转所绕任意轴的起点与终点坐标;A是旋转

16、角度。Matrix是返回的44矩阵。,2、积累变换的指令Accumulate-matrices-3(m1,m2,m)其中m1,m2是输入矩阵,m是输出矩阵,3个都是44矩阵,这条指令执行如下功能:m=m1.m23、坐标变换指令Set-segment-transformation-3(Id,matrix);其中Id是物体的编号,matrix是变换矩阵。这条指令将Id所含的坐标逐一与matrix相乘,从而实现三维几何变换。,参数几何变换前面介绍都是图形几何变换均是基于点的变换。对于用参数表示的图形几何变换仍是基于点的,计算量和存储空间都很大。1、圆锥曲线的几何变换圆锥曲线的方程为,矩阵表示为,简记

17、为XSXT=0,(1)平移变换平移矩阵为,则平移之后圆锥曲线方程为,(2)旋转变换旋转矩阵为,则旋转之后圆锥曲线方程为,若对圆锥曲线相对(m,n)点做旋转角变换,变换后圆锥曲线矩阵方程为,(3)比例变换对圆锥曲线相对(m,n)点进行比例变换,比例变换矩阵为,变换后的圆锥曲线方程为,3.2坐标系统及其变换,坐标系统坐标系统的分类:按维度来分,可以分为一维坐标系统、二维坐标系统、三维坐标系统;按坐标轴之间的空间关系分为直角坐标系统、圆柱坐标系统、球坐标系统。其中直角坐标系统用的最多。圆柱坐标系统与直角坐标系统的关系为,球坐标系统与直角坐标系统关系为,世界坐标系(World Coordinate S

18、ystem)局部坐标系(Local Coordinate System)观察坐标系(Viewing Coordinate System)成像面坐标系屏幕坐标系,规格化变换与设备坐标变换计算机图形学中,世界坐标系和规格化设备坐标系(Normalized Device Coordinate,NDC)是两个同时使用的坐标系。世界坐标系是设计者描述现实世界中的设计对象所用的坐标系,其坐标的范围可以任意大小。规格化坐标系是计算机图形软件描述设计对象所用的介质。图形硬件不同,设备的坐标系也不同。为了使图形软件易于在不同设备之间移植,图形软件并不采用实际的设备坐标,而采用规格化设备坐标。规格化设备坐标定义x

19、,y方向的变化范围为01,从规格化设备坐标到各种图形硬件实际坐标之间的映射由图形软件自动实现。因此使用图形软件的用户均以规格化设备坐标在各种图形输出与显示设备上作图。,世界坐标的范围是无限大。为了使规格化设备坐标上显示的世界坐标系中的物体有一个合适的范围与大小,必须首先对世界坐标系指定显示范围,它通常是个矩形。在世界坐标系中这个矩形称为窗口。在规格化设备坐标系中这个矩形被称为视区(View Port)。图形软件根据窗口与视区的一一对应关系,自动实现从世界坐标系到规格化设备坐标的变换。这种从窗口到视区的变换称为规格化变换(Normalization Transformation)。1、规格化变换

20、1)指定窗口的大小与编号Set-window(N,Xw-min,Xw-max,Yw-min,Yw-max)N为窗口编号,Xw-minYw-max为窗口沿x方向y方向的最小值和最大值,这些参数均用世界坐标。,2)指定视区的大小与编号Set-viewport(N,Xv-min,Xv-max,Yv-min,Yv-max)N为视区编号,Xv-minYv-max为视区x方向y方向的最小值和最大值,这些参数使用规格化设备坐标。,70.5,-65,-20.75,40.25,0.7,(a)窗口的坐标,(b)视区的坐标,图3.9从a到b的标准化变换,3)选择规格化变换Select-normalization-t

21、ransformation(N)N是规格化变换的编号,也即窗口和视区的编号。2、窗口操作1)视野的变换(Zooming)变换视野的效果改变窗口的4个参数,令,当 变小时,视区内的物体就变大了,否则就变小。前者称为zoom-in(视野变小),后者称为zoom-out(视野变大)While(zoom-in)Xw-max-;Xw-min+;Yw-max-;Yw-min+;While(zoom-out)Xw-max+;Xw-min-;Yw-max+;Yw-min-;,2)摇镜头(panning)效果就像取景框在一张很大的图纸上移动,它也改变4个参数,当dx0时,镜头往右移;dx0时,镜头往上移;dy0

22、,镜头往下移。3)多重窗口(Multiple Window)对不同的窗口分别指定视区,就在荧光屏上出现多窗口。设两条折线p1,p2的坐标存在4个数组x1,y1,x2,y2中,下列指令序列可以实现多重窗口效果。,Set-window(1,1,9,300,700);Set-viewport(1,0.1,0.4,0.2,0.8);Set-window(2,10,13,100,200);Set-viewport(2,0.6,0.9,0.2,0.8);Select-normalization-transformation(1);Polyline(l1,x1,y1);Select-normalizatio

23、n-transformation(2);Polyline(l2,x2,y2);,0.1,0.4,0.6,0.9,0.2,0.8,图3.10一个屏幕上多个窗口视区显示,多重窗口的视区还可以重叠,操作内容增加,如重叠层次改变与指定、视区拖动以及大小的改变。这些内容都涉及窗口内容的恢复。除使用帧缓冲外,还需要更多内存来保存非表面层窗口内容,以做恢复之用。下面指令来指定视区的优先级:Set-Viewport-Input-Priority(NT1,NT2,HL)NT1、NT2是两个标准化变换的名,HL可选Higher或Lower(Higher意味着NT1优先于NT2,否则NT2优先NT1)。优先级可以传

24、递继承。3、从规格化坐标(NDC)到设备坐标(DC)的变换NDC变换成DC(即显示器的像素坐标)变换关系如下:,-1,-a,a,0,Ny-1,Nx-1,1,0,NDC,像素,图3.12 NDC到DC的变换关系,其中a=1,Nx=1024,Ny=768。规格化坐标中的点(Xin,Yin)经过平移(dx,dy)和比例变换(Sx,Sy),就可以得到设备坐标系中的点(Xout,Yout)1)公式,若规格化坐标中的两点Xin1和Xin2变换到设备坐标下为Xout1和Xout2,由于从规格化坐标到设备坐标的变化是线性变化,则有,注意3个方面的问题:(1)要考虑x、y方向上的实际像素数;(2)规格设备坐标空

25、间具有的几何一致性不一定在设备坐标空间中成立(因设备坐标系中的像素不一定是正方形,例如图3.12中像素高宽比是(Nx-1)/(Ny-1),常用微型计算机像素高宽比为768/1024)(3)实际应用中规格设备坐标和设备坐标的方向相反。2)方向以图3.12为例子,x方向,-1变成0,1变成Nx-1,Sx=(Nx-1)/2,dx=(Nx-1)/2;y方向,a变成0,-a变成Ny-1,Sy=(Ny-1)/(-2a),dy=(Ny-1)/2。3)设备坐标中像素中心的变换规格化坐标系中的点变换到设备坐标后应在相应位置的像素中心。,X方向上,-1变成-0.5,1变成Nx-0.5,Sx=Nx/2,dx=(Nx

26、-1)/2;y方向,a变成-0.5,-a变成Ny-0.5,Sy=-Ny/(2a),dy=(Ny-1)/2。投影变换1、基本概念计算机图形软件中所采用的笛卡儿(Cartesian)直角三维坐标系系统,按z轴方向不同分为:(1)右手系统,x,z,y,(2)左手系统,x,z,y,在三维坐标系中,物体上各点都以3个分量(x,y,z)描述,此物体称为三维物体。若将三维物体描述在二维平面上,必须对三维物体进行投影。投影(project)是一种使三维对象映射为二维对象的变换。project(object(x,y,z)object(x,y),投影在视域坐标系(也称观察坐标系)内进行,视域坐标系通常为一左手系,

27、下面介绍的投影在左手坐标系内介绍。,投影的要素除投影对象、投影面外,还有投影线。按照投影线的角度不同,有两种基本投影方法:(1)平行投影(Parallal Projection)它使用一组平行投影线将三维对象投影到投影平面上。(2)透视投影(Perspective Projection)它使用一组由投影中心产生的放射投影线,将三维对象投影到投影平面上。,图3.14 两种基本投影,P1,P2,P1,P2,P1,P2,P1,P2,o,由平行投影方法表现三维对象的图,称为正视图和轴测图。由透视投影方法表现三维对象的图,称为透视图。下面讨论中,假设投影面与xoy面重合,即在投影面上z=0。2、平行投影

28、变换按照标准线与投影面的夹角不同,平行投影分为正交平行投影和斜交平行投影两类。1)正交平行投影(Orthographic P.P.)投影线与投影面成90度角,一个三维点(x,y,z)正交平行投影法投影到平面xoy上,得到一个二维点(xp,yp)Xp=x,yp=y,zp=0,同理也可以将三维物体正交平行投影到xoz和yoz平面上,分别获得平视图和侧视图。设计中常用正交平行投影来产生三视图,称为正视图。,2)斜交平行投影(Oblique P.P.)投影线与投影面成a角。一个三维点(x,y,z)以斜交平行投影方法投影到投影面上,形成投影坐标(xp,xp,zp)。斜交平行投影也称轴测投影,所获得图称为

29、轴测图。3、透视投影变换设投影中心在z轴负轴上,投影中心c到坐标原点o的距离为d。为求透视投影变换公式,先列出直线PC的参数化方程:,参数u变化范围01,当u=0时,(x,y,z)等于(x,y,z),即P点;当u=1时,(x,y,z)等于(0,0,-d),即C点。因此u值表示直线PC上的位置。,d,o,x,y,z,c,P(x,y,z),P(x,y,z),图3.15 透视投影,3.3图元输出与输出属性,二维图元输出图元是图形软件用于组织和操作画面的最基本的素材。一幅画面有图元组成,图元是一组最简单的、最通用的几何图形或字符。图形软件中常用的图元有Line(直线段)、Polyline(折线)、Te

30、xt(字符串)、Fill area(色块)、Polymarker(符号的轨迹)、Move(现行位置的定位)、Cell Array(像素矩阵)、Circle(圆)。,每种图元都有一系列参数描述,这些参数由两类命令定义:一类是输出图元命令,它描述了图元的种类及最重要、也是变化最频繁的参数,如直线的端点坐标。另一类是图元性质定义命令,它描述了图元的其余性质,如直线的宽度、线型等。用户定义的二维图元的窗口区到视图区的输出过程如下:应用程序得到的坐标(UC)对窗口区进行裁剪(WC)窗口区到视图区的规格化变换(NDC)视图区的规格化坐标系到设备坐标系的变换(DC)调用基本图元生成算法在图形设备上输出图形,

31、输出图元的命令:(1)move(x,y)定义当前位置为(x,y)。启动图形软件后当前位置自动定义为(0,0)(2)line(x,y)以当前位置为起点,(x,y)为终点画一直线,如果两点重合,则画一点(3)polyline(n,x_array,y_array)X_array、y_array为两个一维数组,每个数组长度为n。本命令画一条有n+1个顶点(包括两个端点)的折线。第1个顶点在当前位置,其余n个顶点的位置有x_array和y_array中的值决定。,输出属性及其控制1、图元的输出属性常见的定义图元属性的命令:1)直线的属性(1)线类型Set_linetype(linetype),其中lin

32、etype可以为solid(实线)dotted(点线)dashed(虚线)dotdashed(点划线)(2)线色彩Set_line_color_index(pc),其中pc是查色表的地址,通常是一个范围在0255。(3)线宽度Set_line_width(linewidth),其中linewidth是标准线宽的倍数。,2)定义查色表的内容指令为set_color_representation(ci,R,G,B)定义地址为ci单元的色彩代码,其中ci为查色表地址,R、G、B分别为红绿蓝的色代码,任何一种颜色都可由R、G、B三原色按不同比例混合而成。最普通的一种取值范围是ci、R、G、B为0255

33、3)多边形填色的属性(1)多边形填色风格Set_polygon_interior_style(style),style取值范围为Solid(单色)、Hollow(不填色)、Pattern(填图案)(2)多边形的色彩Set_polygon_color_index(color),(3)多边形的图案Set_polygon_pattern_index(Pid),其中Pid是一个图案的编号(4)图案内容Set_pattern_representation(Pid,nx,ny,CP),这条命令将图案的编号Pid和它的内容(放在CP之内)对应起来。CP是一个二维数组,大小为1,2,nx1,2,ny,每个元素

34、对应一个像素。其中CP描述了一个用像素矩阵表示图案的构成。(5)图案的位置Set_pattern_reference_point(xp,yp),确定了图案的左下角点在屏幕坐标上的(xp,yp),例:将右图所示图案填入一个顶点坐标在x1.10Y110中的多边形。,2,1,2,1,首先将图案的编码存放在一个数组pattern中,然后利用上述命令填入多边形。Pattern1,1=1Pattern1,2=0Pattern2,1=0Pattern2,2=1Set_pattern_representation(1,2,2,pattern)Set_polygon_interior_style(pattern

35、)Set_polygon_pattern_index(1)Set_pattern_reference_point(0,0)Fill_area(10,x,y),4)字符的属性(1)字型Set_text_font(tf),其中tf可以取Roman(罗马型)、Greek(希腊型)、Script(手书型)、Old English(老体)(2)字符色彩Set_text_color_index(tc),tc为查色表的地址(3)字符大小Set_charsize(width,height),width、height表示字符宽高(4)字母方向Set_charnp_vector(dx,dy),dx,dy是字母方向

36、矢量在x,y轴上的投影(5)字符串的轨迹 set_text_path(dx,dy),字符串的轨迹是一条直线,斜率为m=dy/dx,5)符号属性(1)符号种类Set_marker_type(mt),mt是符号的ASCII编码(2)符号色彩Set_marker_color_index(mc),mc是查色表的地址(3)符号大小 Set_marker_size_scale_factor(ms),ms是字符的缩放比例上述命令定义图元性质虽然灵活,但很麻烦,需要n条命令才能定义一个图元的n个性质。可以采用组合命令,即使用一个命令来定义一组性质。组合命令定义分两步完成:1、建立组合表中的值,即将一组性质赋予

37、某输出设备的组合表中的某一地址。2、用编号(即组合表的地址)调用这组性质。,例子:以直线为例,说明组合命令的定义(1)建立组合表的值的命令Set_line_representation(WS,lid,lt,lw,lc),其中WS是图形输出设备编号,lid是性质编号,lt直线种类,lw直线宽度,lc直线色彩(2)调用这组性质的命令Set_line_index(li),li是性质编号Set_line_representation(1,3,dotted,0.5,1)Set_line_representation(4,3,solid,1,7)Set_line_index(3)凡画直线都采用性质3。如编

38、号为1的输出设备被激活,则输出直线性质为点线、0.5粗、1号色彩,3、属性的查询属性查询指令的功能是将基元的某个性质赋给变量返回。Inquire 基元的类型和性质(变量)例:inquire_linetype(ilt)这条指令功能是把当前直线的种类赋给变量ilt返回。,三维图元的输出,很多图形软件中,三维图元的输出只是在原来二维图元输出命令的基础上增加一个后缀3,例如move的三维形式move-3(x,y,z),命令line的三维形式line-3(x,y,z)等等。实际上,要在图形输出设备上是输出一个三维图元,必须进行投影变换。视域坐标系统(viewing coordinate system,V

39、CS)投影面与面重合,Z轴正向指向要表达的物体,透视投影的中心位于Z轴的负轴上。,将三维图元输出到图形设备上,必须经过以下步骤:1、定义一个视域坐标系统VCS,为此需定义如下数据(1)VCS坐标原点(2)VCS的Z轴方向(3)VCS的y轴方向2、将投影物体的世界坐标变换为视域坐标在完成了前2个步骤后,投影就可以进行了。然后将二维视域坐标转换为规格化坐标,便可在屏幕上显示了。3、选择平行投影或透视投影进行投影变换,使VCS三维对象变为VCS在XOY平面上的二维对象。4、在VCS的XOY平面上定义一窗口,并定义相应的视区,进行标准变换。,世界坐标WCS,视域坐标VCS,3Dvcs,2Dvcs,标准设备坐标NDC,视域变换,投影变换,标准化变换,图3.21 三维坐标变换全过程,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号