您好,欢迎访问三七文档
0101001cossinx'y'sincosxy计算机计算图形学:国际标准化组织ISO定义为研究通过计算机(利用数学算法)将数据转换为(二维或三维)图形,并在专门显示设备上显示的原理、方法和技术的学科。图形学:人工数据图形计算机图形学研究对象—图形:指从客观世界物体中抽象出来的带有颜色和形状信息的图和形。两大要素:几何要素——点,线,面,体等;非几何要素——明暗,灰度,色彩等。美国麻省理工学院(MIT)的旋风I号计算机的附件—第一台图形显示器的诞生。SAGE空中防御系统,通过光笔在屏幕上指点与系统交互—标志着交互式图形技术的诞生。论文“Sketchpad(图板):一个人机通信的图形系统”—确定了交互图形学作为一个学科分支,标志着计算机图形学正式诞生。20世纪80年代前,以图形硬件设备研究为主;80年代后,以软件技术为主,主要为图形显示的算法和软件开发。计算机图形系统基本功能框图:图形输入设备:数字化仪、鼠标器、光笔、扫描仪和摄像机。图形输出设备:各种显示器、打印机和绘图仪。计算机图形标准:计算机图形标准是指图形系统及其相关应用程序中各界面之间进行数据传送和通信的接口标准。国际标准化组织ISO发布的标准:GKS;PHIGS;CGM;CGI;IGES(GKS为ISO批准的第一个图形软件标准。)非官方的标准:OpenGL;DirectX;Xlib;Adobe公司的Postscript图形设备接口(GDI):是Windows提供的一个抽象的绘图程序接口。用户程序通过它访问图形设备驱动,避免直接对硬件进行操作,实现所谓的设备无关性。VC++的MFC将GDI函数封装在CDC类(设备环境类)中。CDC类包含了绘图所需要的所有成员工具函数。VC++所编写的Windows应用程序通常在视图类中通过调用函数OnDraw(),在其中添加绘图程序代码来实现图形生成。目前,主要图形输出设备如计算机显示器、打印机等都采用光栅显示输出技术。光栅显示技术:显示器屏幕或打印机上打印出的图形可以认为是由许多像素点组成。像素点的坐标位置(x,y)必须为整数值。控制像素点的颜色值来显示图形或文字。图形的扫描转换或光栅化指在显示设备上确定生成一个图形所需的一个像素集合及其颜色。基本图形生成原理:是指在点阵(光栅)输出设备的情况下,如何对一条斜的直线或弯曲的曲线尽可能快地输出其最接近理想的直线或曲线,即如何以最快的速度确定最佳逼近于图形的像素集。直线的扫描转换:当在屏幕上显示一条直线时,在显示器所给定的有限个像素矩阵中,确定发现最佳逼近该直线的像素集,并且按扫描顺序对这些像素进行写操作。这就是用显示器绘制直线或直线的扫描转换。中点画线算法Bresenham画线算法a=y1-y2;b=x2-x1△y=y2-y1;△x=x2-x1中点画圆法Bresenham画圆法有序边表填充算法:按照扫描线从小到大(由下而上)的移动顺序,计算当前扫描线与多边形各边交点,然后把这些交点按x值递增顺序进行排序、配对,以确定填充区间,然后用指定颜色填充区间内所有像素。步骤:1.求交计算扫描线与多边形各边的所有交点;2.排序按x坐标递增顺序对交点进行排序;3.交点配对第1、2个,第3、4个为一对等等,每对代表一个区间4.区间填色区间内像素置成填充色,区间外像素置成背景色交点取舍:1、共享顶点的两条边在扫描线的两边,扫描线交点只能算一个;2、共享顶点的两条边在扫描线的一边,该点是多边形的局部最高点取0、局部最低点取2。活化边表AET的建立:多边形与当前扫描线相交的边称为活化边,把它们按与扫描线交点x坐标递增的顺序存放在一个链表中,此链表称为活化边表。种子填充算法:基本思想:指定多边形区域内一点作为生长种子点,由种子点出发采用四连通或八连通方法找到区域内所有像素,赋予指定颜色。生长顺序:从水平向右开始,逆时针方向生长。直线线宽的处理:线刷子:若直线斜率|k|1,用垂直方向的线刷子;若直线斜率|k|1,用水平方向的线刷子。特点算法简单,效率高;线的汇合处有缺口;斜线与水平线不一样粗细;线宽要求为奇数,为偶数时,线宽要么粗一个像素,要么细一个像素。方刷子:中心点对准该像素,方刷子覆盖区域的像素全部着色。图形几何变换的实质是改变图形各点的坐标位置后产生新的图形。平移变换矩阵点对x轴对称点对y轴对称对坐标原点的对称变换点对+45°线对称点对-45°线对称逆时针旋转变换顺时针旋转变换比例变换二维组合绕任意点的旋转变换:①旋转中心平移到原点;②绕坐标原点旋转角;③将旋转中心移回原位。投影变换:把三维物体变为二维图形表示的变换称为投影变换。三要素:投影中心(COP):三维空间中一个点;投影面:不经过投影中心;投影线:从投影中心向物体上各点发出的射线。分类:根据投影中心与投影平面之间的距离,有平行投影和透视投影。透视投影的投影中心到投影面之间的距离是有限的;平行投影的投影中心到投影面之间的距离是无限的。平行投影特点:投影点到投影面之间距离无限,投影线之间平行。视觉效果为远处近处效果一样大。分类:根据投影线是否垂直于投影平面,分为正平行投影(直角投影)【三视图(正投影)和正轴测投影】斜平行投影(斜角投影)【斜等测和斜二测】。两者区别:平行(正射)投影最大一个特点是无论物体距离投影面(相机)多远,投影后的物体大小尺寸不变。这种投影通常用在建筑蓝图绘制和计算机辅助设计等方面;透视投影符合人类的生理机制,有“近大远小”的效果。这类投影通常用于动画、游戏、视觉仿真以及其它许多具有真实性反映的方面。当投影方向取坐标轴方向,投影平面垂直于坐标轴时,产生的正投影称为三视图。分为主视图V面(正视图)、俯视图H面(水平投影面)、侧视图W面。当投影方向不取坐标轴方向,投影平面不垂直于坐标轴时,产生的正投影称为正轴测投影。正轴测投影分为正等轴测投影和正二轴测投影。投影方向不垂直于投影面的平行投影称为斜平行投影,即斜轴测投影。错切变换是画斜轴测图的基础。常用的斜轴测图有斜等测图和斜二测图。透视投影属于中心投影,它是通过空间一点将立体投射到投影面上所得到的投影图。世界坐标系(WC):也称为用户坐标系,右手坐标系。用来定义用户在二维或三维世界中的物体。因此该坐标系的长度单位和坐标轴的方向要适合物体的描述。世界坐标系是无限大且连续的,其定义域为实数域。设备坐标系(DC):也称为物理坐标系。与具体物理设备相关,是图形输出设备(如显示器,绘图仪等)自身定义的一个二维平面坐标系。度量单位根据实际设备来确定,如步长、像素等。设备坐标系定义域为整数域且有界。观察坐标系(VCS):采用左手坐标系。是一般用户观察图形对象时所取的坐标系。它的单位根据所描述的实际对象的大小来确定,定义域为实数域。通过坐标变换可在世界坐标系的任何位置,任何方向定义一个观察坐标系。窗口(Window)世界坐标的范围是无限大的。为了使规格化设备坐标上所显示的世界坐标系中的物体有一个合适的范围与大小,必须首先对世界坐标系指定显示范围,它通常是一个矩形,这个矩形被称为窗口。视区(Viewport)指在设备坐标系(通常为屏幕)中定义的一个用于显示输出窗口中图形的一个矩形区域。视区决定了窗口中的图形要显示于屏幕上的位置和大小。视区应小于等于屏幕区域。视区是一个有限的整数域同一屏幕上可定义多个视区,用来同时显示不同图形。裁剪:识别图形在指定区域内和区域外的部分的过程称为裁剪算法,简称裁剪。曲线曲面的分类:规则曲线:可以用一个标准的初等解析式来表示。不规则曲线(拟合曲线,或自由曲线,或样条曲线):不能确切给出描述整个曲线或曲面的方程,往往由一些从实际测量得到的一系列离散数据点用曲线或曲面拟合方法来逼近的。插值:给定一组有序型值点(插值点)序列,构造一条曲线完全通过这点序列,称为曲线的插值,所构造的曲线称为插值曲线。如Hermit曲线。逼近:构造一条曲线使之在某种意义下最接近给定的数据点(但未必通过这些控制点),称为曲线的逼近。如Bezier曲线,B样条曲线。二次插值样条曲线:由若干段依次相连的光顺的二次样条曲线段组成,每段曲线段由给定的4个型值点采用抛物插值方法生成。三次插值样条曲线:由若干段依次相连的光顺的三次样条曲线段组成,每段曲线段由给定的2个型值点插值生成。且每个型值点有给定的切矢量。Bezier曲线与B样条曲线相比较:⑴Bezier曲线:①确定控制多边形顶点个数(n+1个),则确定Bezier曲线次数(n次);②Bezier曲线次数越高,逼近程度越差;③Bezier曲线不能局部修改,修改某一控制点将影响整条曲线。⑵B样条曲线:①B样条曲线次数可根据需要指定,不由控制点个数确定。②B样条曲线分段组成,能局部修改。每个控制点只影响它所生成的那段B样条曲线。Bezier曲线性质:①Bezier控制多边形的第一个和最后一个控制顶点在Bezier曲线上。②Bezier控制多边形的第一条和最后一条折边表示Bezier曲线的起点和终点的切线方向。③Bezier曲线在两端点处的二阶导数(或曲率)只同相近的三个控制点有关。④凸包性。Bezier曲线各点均落在控制多边形各顶点构成的凸包之中。⑤几何不变性。Bezier曲线的形状与坐标系无关。⑥对称性。若保持Bezier特征多边形全部顶点的位置不变,只把次序颠倒,则新的Bezier曲线形状不变,但方向相反。⑦变差缩减性。一平面图形内的任意直线和Bezier曲线的交点个数不多于该直线与控制多边形的交点个数。消隐:对空间物体的表面进行可见性检测,绘制出可见边线和表面,不可见的部分不显示,称为消隐。面消隐:当采用面模型显示物体时,确定可见面,消除场景中物体的不可见面,即消除隐藏面。线消隐:当显示采用线框模型表示的物体时,要消除不可见的线,即隐藏线的消除。凸多面体的性质:对于一个凸多面体,若某个面可见。则该面上所有线均可见,若某个面不可见,则该面轮廓线以外的线都不可见。于是判断出可见面,只显示可见面及与之有关的线段,就画出了消隐后的凸多面体图形。0,表面可见;0,表面不可见。Z缓冲区算法步骤:①初始化:depth[i][j]=maxz;color[i][j]=bkcolor;②对于景物中的每个多边形平面,计算出该多边形平面的投影所包含的全部像素的位置,对每一像素进行如下工作:计算该多边形在点(i,j)处多边形的深度值Z(i,j);比较Z(i,j)和Z缓冲区中(i,j)处的值,如果Z(i,j)depth[i][j],把Z(x,y)存入Z缓冲区中的(x,y)处;③把多边形在(x,y)处的亮度值存入帧缓存区的(x,y)处;通过多边形的顶点坐标求出所在平面的方程,然后再使用平面方程,对每个点xy解出相应的z。算法程序1110101020202,,kkkkkkkkkkkxxydyydadddabddab1112101100220202,,kkkkkkkkkkkkxxydyyddxddyxdddyddyx111010102302501,,kkkkkkkkkkkkkkxxydyydxdddxyddr11101010460410032,,kkkkkkkkkkkkkkxxydyydxdddxyddr1''10101000011xyxyyxcosSNSN1000100011''11yyyxxx10001000111''1xyxxyy10001001''1011xyxyxy0101000011''11yxyyxx0101001cossinx'y'sincosxy
本文标题:矿大计算图形学整理
链接地址:https://www.777doc.com/doc-3536593 .html