- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章复习重点:计算机图形学的概念:计算机图形学:是研究怎样用计算机表示、生成、处理和显示图形的一门学科。几个图形学中的基本概念:计算机图形:用计算机生成、处理和显示的对象;由几何数据和几何模型,利用计算机进行显示并存储,并可以进行修改、完善后形成的;图象处理:将客观世界中原来存在的物体影象处理成新的数字化图象的相关技术;如CT扫描、X射线探伤等;模式识别:对所输入的图象进行分析和识别,找出其中蕴涵的内在联系或抽象模型;如邮政分检设备、地形地貌识别等;计算几何:研究几何模型和数据处理的学科,讨论几何形体的计算机表示、分析和综合,研究如何方便灵活、有效地建立几何形体的数学模型以及在计算机中更好地存贮和管理这些模型数据;图像(数字图像):点阵表示,枚举出图形中所有的点(强调图形由点构成)简称为参数表示图形:由图形的形状参数(方程或分析表达式的系数,线段的端点坐标等)+属性参数(颜色、线型等)来表示图形图形:计算机图形学的研究对象,主要分为两类:基于线条信息表示。明暗图(Shading)能在人的视觉系统中产生视觉印象的客观对象。包括自然景物、拍摄到的图片、用数学方法描述的图形等等构成图形的要素几何要素:刻画对象的轮廓、形状等非几何要素:刻画对象的颜色、材质等常用的图形输入设备分为两种:矢量型图形输入设备与光栅型的区别:矢量型输入设备采用跟踪轨迹、记录坐标点的方法输入图形。主要输入数据形式为直线活折线组成的图形数据。光栅扫描型图形输入设备采用逐行扫描、按一定密度采样的方式输入图形,主要输入的数据为一幅由亮度值构成的像素矩阵——图像。常用的图形输出设备分为两类:向量型向量型设备的作画机构随着图形的输出形状而移动并成像光栅扫描型光栅扫描型设备的作画机构按光栅矩阵方式扫描整张图面,并按输出内容对图形成像。显示器原理:随即扫描显示器:应用程序发出绘图命令,→解析成显示处理器可接受命令格式,存放在刷新存储器中。刷新存储器中所有的绘图命令组成一个显示文件,由显示控制器负责解释执行(刷新),→驱动电子枪在屏幕上绘图。特点:电子束可随意移动,只扫描荧屏上要显示的部分。修改图形,实际是修改显示文件中的某些绘图命令。(电子束的定位和偏转具有随即性)彩色阴极射线管通过把发出不同颜色的荧光物质进行组合而实现的。通常用射线穿透法和影孔板法实现彩色显示。应用:主要用于画线显示器优点:成本低缺点:只能产生有限几种颜色。存储管式图形显示器发展了利用管子本身来储存信息的技术。光栅扫描式图形显示器(随机扫描显示器工作原理:从显示文件存储器中去处画线指令或显示字符指令、方式指令(如高度、线性等),送到显示控制器,由显示控制器控制电子束的偏转,轰击荧光屏上的荧光材料,从而产生一条发亮的图形轨迹。特点:随机扫描显示器中电子束的定位和偏转具有随机性,在某一时刻,显示屏上只有一个光点发光,因而可以画出很细的图形。光栅扫描显示器工作原理:在这种显示器中,电子束的运动轨迹是固定的。即从左到右、自上而下扫描荧光屏,来产生一幅光栅。特点:由于图形是以点阵的形式存储在帧缓冲器中。所以光栅扫描显示器的电子束按从上到下、从左到右的顺序依次扫描屏幕,来建立图形。缺点:动态不如随机扫描器好。优点:可读性强,可控制亮度与颜色)第二章复习重点假设直线的起点坐标为P1 (x1,y1),终点坐标为P2 (x2,y2),x方向的增量为△x=x2-x1 ;y方向上增量为△y=y2-y1直线的斜率为 k=△y/△x当△x>△y 时,让 x 从 x1 到 x2 变化,每步递增 1,那么,x 的变化可以表示为 x(i+1)=xi+1 y 的变化可以表示为 y(i+1)=yi+k 综合考虑,按照从(x1, y1)到(x2, y2)方向不同,分8个象限(图2.1)。对于方向在第1a象限内的直线而言,取增量值Dx=1,Dy=m。对于方向在第1b象限内的直线而言,取增量值Dy=1,Dx=1/m。算法描述如下:dda_line(xa, ya, xb, yb, c)int xa, ya, xb, yb, c;{ //使用DDA算法,每生成一条直线做两次除法,画线中每一点做两次加法。float delta_x, delta_y, x, y;int dx, dy, steps, k;dx=xb?xa;dy=yb?ya;if(abs(dx)abs(dy))steps=abs(dx);else steps=abs(dy);delta_x=(float)dx/(float)steps;delta_y=(float)dy/(float)steps;x=xa;y=ya;set_pixel(x, y, c);for(k=1;k=steps;k++){x+=delta_x;y+=delta_y;set_pixel((int
文档评论(0)