第2讲-计算机图形学基础-基本图形生成ppt课件.pptx
《第2讲-计算机图形学基础-基本图形生成ppt课件.pptx》由会员分享,可在线阅读,更多相关《第2讲-计算机图形学基础-基本图形生成ppt课件.pptx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目2.1计算机图形学概述2.2图形显示原理 CRT显示器工作原理 LCD显示器工作原理2.3基本图形生成算法 直线生成算法 圆弧生成算法 其它基本图形生成2.4图形裁减算法2.5多边形填充算法(选学)2.6图形反走样算法(选学)2.7基于OpenGL图形库生成图形(选学)第第2讲讲 计算机图形学基础计算机图形学基础基本图形生成基本图形生成基本图形生成基本图形生成华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶
2、贫工作高度重视,已经展开了“精准扶贫”项目本章目的:(1)介绍显示器显示图形的基本原理;(2)介绍基本图形元素的生成算法。思考问题:思考问题:1)图形如何在屏幕上显示出来?2)CAD图形如何生成?华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目2.12.1计算机图形学概述计算机图形学概述 计算机图形学主要研究用计算机进行图形信息的表达、输入、存储、显示、输出、检索及图形运算等。具体地说,大致有以下内容:(1)图形的输入:研究如何把要处理的图形输入到计算机内,以便让计算机进行各种处理。(2)产生图形的算法
3、:研究在显示器或其它输出设备上产生图形的算法;(3)图形的数据结构:研究图形在计算机内的表示方法;(4)图形的变换:研究图形的各种几何变换;(5)图形运算:包括图形的分解、组合等;(6)图形语言:各种图形处理功能的语言;(7)图形软件的标准化:图形软件与设备无关及接口兼容性。总的来说,计算机图形学应该解决和研究下列一些问题:(1)图形表示和处理的数学方法及其实现的计算机算法;(2)设计一个好的图形软件支撑系统;(3)设计与实际应用相结合的图形应用系统。华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目l一
4、类是线条,如工程图、地图、曲线图表等;l另一类是明暗图,与照片相似。为了生成图形,首先要有原始数据或数学模型,如工程人员构思的机械零件模型,飞机的总体方案模型,科学数据的可视化等等。这些数字化的输入经过计算机处理后变成图形输出。本课程重点从CAD需求角度来介绍相关研究内容:工程产品设计中的二维工程图、工程产品设计中的二维工程图、三维实体模型的显示三维实体模型的显示本章主要介绍:本章主要介绍:基本图形生成原理基本图形生成原理图形的具体应用范围很广,但是从基本的处理技术看主要有两类:华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已
5、经展开了“精准扶贫”项目2.22.2、图形显示原理、图形显示原理 颜色颜色华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目2.22.2、图形显示原理、图形显示原理显示器是计算机上最常用的输出设备,用于显示文本和图形图像。目前显示器多为平板显示器(LCD,LED、PDP,OLED),阴极射线管(CRT)。CRT是通过电子枪发射电子束,经过聚焦系统、加速电极、偏转系统,按行列次序扫描点矩阵,轰击到荧光屏的不同点阵部位,被其内表面的荧光物质吸收,在该点发光产生可见的图形。阴极射线管显示器(CRT)华中科技大学
6、CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目彩色CRT显示器包含数以百万计的磷光点,成阵列排列。每个阵列点(称为象素)有三个荧光点(红、绿、蓝三色),由三支电子枪控制各自电子束强度实现不同亮度颜色,分别为红色、绿色和蓝色(即红、绿、蓝三基色),当通过屏幕的电子束击中它们时,就会发光呈彩色图像。若红(R)、绿(G)、蓝(B)三色每支电子枪发出的电子束强度为256个等级,则显示器能同时显示256*256*256=16M种颜色,称为真彩色系统。象素(Pixel)荧光屏上画面的每一光点称为一个象素。若屏幕尺寸一定,水平
7、和竖直方向上能识别的最大像素个数用分辨率来描述,如800*600,1024*768,1280*1024等。分辨率(Resolution)华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目每秒钟重绘屏幕的次数,CRT产生稳定图像所需要的最小刷新频率:=1秒 /荧光物质的持续发光时间(Hz)刷新频率(仅CRT)与电视工作原理类似,CRT电子束从上到下、从左到右扫描进行,每扫描一遍称为一帧。注:液晶显示器原理不同于CRT,不受刷新频率影响。但液晶显示有拖尾现象,是因液晶偏转延迟所致,延时越长,拖尾越重。帧扫描华
8、中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目每个象素都对应于Buffer中的一个存储单元,用来存储象素颜色(灰度)值的存储器,称为帧缓冲存储器。目前,显示器均采用32bit来表示颜色,其中、各位,另位可用于表示色彩透明度,此即颜色的表示。分辨率1024x1024的一帧图像,其显存所需容量:1024x1024x32bit/8(byte)帧缓冲存储器简称帧缓存俗称显存 象素的亮度值控制电子束对荧光屏的轰击强度,象素在帧缓存寄存器中的位置编码控制电子束的偏转位置。图形系统为灵活控制图形颜色变化,往往不直接将
9、帧缓冲器中的数值作为显示的亮度值,而是先经过颜色查找表(称调色板)产生变换值来控制光点亮度。其工作方式:显存中某位值显存中某位值颜色表地址颜色表地址屏幕上的亮度屏幕上的亮度华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目LCD显示系统原理示意图华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目 液晶显示器(LCD)液晶是一种介于液体和固体之间的特殊物质,它具有液体的流态性质和固体的光学性质。当液晶受到电压的影响时,
10、就会改变它的物理性质而发生偏转形变,此时通过它的光的折射角度就会发生变化,而产生色彩。当视线与屏幕中心法向成一定角度时,就不能清晰看到屏幕图象,其最大角度称为可视角度。目前CRT显示器被淘汰,LCD显示器是主流。家用电视也以液晶及平板电视为主流。新一代LED显示器正以其超薄、节能和全高清等技术发展迅猛,3D电视是未来发展方向。我国在高端液晶面板技术受制于人(日韩厂商),LED面板技术不容乐观。华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目2.32.3基本图形生成算法基本图形生成算法无论是液晶显示器(L
11、CD),还是阴极射线管显示器(CRT),都是通过改变屏幕上象素点的颜色及亮度来显示图形。对于一个二维CAD系统来说,直线、圆、圆弧、自由曲线是最常见的基本几何要素。对于一个三维CAD系统来说,除了具备上述要素外,还需平面、圆柱面、球面、圆环面及自由曲面。曲线、曲面及三维形体将在后面章节介绍,本章仅介绍直线、圆弧的生成。思考:思考:直线和圆弧如何在生成并显示?华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目画直线是CAD中最常用的操作,在光栅显示器上画线只能以点近地似显示。如下图,从(x1,y1)到(x2
12、,y2)画直线实质上是寻找最佳逼近直线的象素序列,并填入色彩数据,该过程称为直线光栅化,也称直线扫描转换。常用算法有:直线DDA算法、中点算法、Bresenham算法等,其中以 Bresenham算法效率高,应用最广泛。直线生成算法直线生成算法直线生成算法直线生成算法华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目直线y y=kx+b=kx+b中每一点坐标(xi+1,yi+1)都可由前一点坐标(xi,yi)加一个增量(x,y)而得到,即:xi+1=xi+x,yi+1=yi+y,且 y=k x。设直线的起
13、点(x1,y1)为所画直线的初值,考虑到象素为整数,于是画线算法过程可表述为:1)直线DDA算法 (即微分算法)x x x2x2x1x1,y yy2y2y1y1,k k y/y/x xy yi+1i+1=kx=kxi+1i+1+b=k(x+b=k(xi i+1)+b=(kx+1)+b=(kxi i+b)+k=y+b)+k=yi i+k+k(x(xi i,y,yi i)(x)(xi i+1+1,y,yi i+k)+k)yi=round(yi)=(int)(yi+0.5)l 上述算法简单,易实现,但有浮点数取整运算,不利于硬件实现,效率低;l 算法仅适用于k 1的情形:x每增加1,y最多增加1。当
14、 k 1时,必须把x,y互换。k 1k 1华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目DDA算法实现华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目算法应用举例设直线起点设直线起点P0P0(0 0,0 0),终点),终点P1P1(5 5,2 2)华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目2)Bresenham算法
15、原理Bresenham算法是使用最广泛的直线生成算法。该算法假设过各行各列象素中心构造一组虚拟网格线,按直线从起点到终点的顺序计算直线与各垂直网格线的交点,然后根据误差项的符号确定该列象素中与此交点最近的象素(如图)。华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目算法思想:设直线方程为:yi+1=yi+k(xi+1 xi),斜率 k 1,并设初始象素坐标为(xi,yi),误差初值 d0 0。显然,若下一象素横坐标为 xi1,则纵坐标yi+1可能为yi,或yi1。根据方程可知,x 坐标每增加 1,d 的
16、值相应递增斜率值 k,即 ddk;yi+1是否增1,则取决于误差项d的值,具体如下:如果 d1,就把它减去1,这样保证 d 在 0、1 之间;当 d 0.5 时,直线与垂线 x=xi 1 交点最接近于当前象素 (xi,yi)的右上方象素(xi1,yi1);而当 d 0.5 时,更接近于右方象素(xi1,yi)。为加速计算,令e d0.5,e 的初值为0.5,增量为 k,则可转化为下式判断:当e 0 时,取当前象素(xi,yi)的右上方象素(xi1,yi1);而当 e 0 时,取(xi,yi)右方象素(xi1,yi)。华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到
17、病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目voidBresenhamline(intx0,inty0,intx1,inty1,intcolor)intx,y,dx,dy;floatk,e;dx=x1-x0;dy=y1-y0;k=dy/dx;e=-0.5;x=x0;y=y0;for(i=0;idx;i+)drawpixel(x,y,color);x=x+1;e=e+k;if(e0)y+;e=e-1;算法程序华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目算法举例用Bresenham方法
18、生成两点P0(0,0)和P1(5,2)的直线段 xye00-0.510-0.121-0.731-0.342-0.952-0.5华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目上述计算直线斜率与误差项时用到小数与除法。可以改用整数以避免除法。由于算法中只用到误差项 e(e=dy/dx-0.5)的符号,对此误差等式两边同时乘以2*dx,并作替换:e=2*e*dx,则误差判断式变为:e=2*dydx。voidInterBresenhamline(intx0,inty0,intx1,inty1,intcolor
19、)intx,y,dx,dy,e;x=x0;y=y0;dx=x1-x0;dy=y1-y0;e=2*dy-dx;/替换:替换:e=k-0.5for(i=0;idx;i+)drawpixel(x,y,color);x+;e=e+2*dy;/替换:替换:e=e+kif(e0)y+;e=e-2*dx;/替换:替换:e=e-1算法特点算法避免了除法及浮点运算,速度加快,精度高。进一步改进:2 的倍数可采用移位操作,便于硬件实现,速度更快。Bresenham算法改进:华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目圆
20、也是图形系统中常用的元素。我们将圆定义为所以距离中心位置(xc,yc)为给定值 r 的点集。圆的方程为:定义:为叙述方便,仅考虑圆心在原点的圆(其它位置圆可平移到原点位置)。不妨设函数:显然有:F(x,y)0,则(x,y)位于圆边界外考虑到圆的八对称性,不妨以第二个八分圆进行分析,其它八分圆则可通过镜像实现。圆弧生成算法圆弧生成算法圆弧生成算法圆弧生成算法yx(-x,y)(x,y)(-y,x)(y,x)(y,-x)(-y,-x)(-x,-y)(x,-y)oRP P1MP2圆的扫描转换算法有:直接离散法、中点法、Bresenham算法等。华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开
21、始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目如右图,圆上的点满足判别式:P P1M P2 F(x,y)=x 2+y 2 R 2=0中点M:M=(xp+1,yp-0.5),将中点M代入上式得:当 d 0时,M在圆内,P1 距离圆弧近,取P1(xp+1,yp)当 d 0时,M在圆外,P2 距离圆弧近,取P2(xp+1,yp-1)若 d 0,取P2为下一象素,再下一象素的判别式为:若d 0,取P1为下一象素,再下一象素的判别式为:第一个象素点是(0,R),判别式d的初始值为:增量增量圆的中点算法算法圆的中点算法算法华中科技大学CAD中心认识到了贫困户贫困的根本原
22、因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目中点算法(续前)为提高算法的效率,将算法中的浮点数改写成整数,用 e=d 0.25 代替 d,增量不变,取 e0=1 R,则改进后的中点算法为:MidpointCircle(r,color)x=0;y=r;d=1.25-r;drawpixel(x,y,color);while(xy)if(d0)d+=2*x+3;x+;else d+=2*(x-y)+5;x+;y+;drawpixel(x,y,color);MidpointCircle_1(r,color)x=0;y=r;e=1-r;drawpixel(
23、x,y,color);while(xy)if(e0)e+=2*x+3;x+;else e+=2*(x-y)+5;x+;y-;drawpixel(x,y,color);华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目中点算法示例:圆的多边形逼近算法圆的多边形逼近算法 其它画圆算法圆的Bresenham算法 圆的多边形逼近算法 华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目自由曲线算法:转化为多直线段逼近,再调用画
24、直线算法。三维线框图:本质上都转化为多直线段组合,直接调用画直线算法。其它基本图形生成算法其它基本图形生成算法其它基本图形生成算法其它基本图形生成算法华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目图形基本生成算法小结研究图形的基本生成算法,其宗旨是尽快提高算法的计算速度、精度及可靠性,为各种图形平台提供算法支撑。原则:尽量避免除法、浮点运算,尽可能采用整数加减及移位等运算。(写算法要力争精益求精哦写算法要力争精益求精哦 !)!)思考问题:思考问题:1)如何提高基本图形的生成算法效率2)直线的Brese
25、nham算法比DDA算法、中点算法优势在哪?还 有哪些需要改进。华中科技大学CAD中心认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目通常,直线边和窗口的关系分为如下三类:(a)整条直线在窗口内。不剪裁,全显示。(b)整条直线在窗口外。不剪裁,不显示。(c)部分直线在窗口之内,部分在窗口之外。此时,需要求出直线与窗框之交点,并将窗口外的直线部分剪裁掉,显示窗口内的部分。2.4、图形裁剪算法图形裁剪是CAD系统的基本功能,其作用是确定图形中落在显示区内的那部分图形,这个选择过程称为裁剪。只有窗口内的物体才能显示,窗口之外的物体
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 基础 基本 图形 生成 ppt 课件
限制150内