教学内容•图形设备、系统和应用•基本图形的生成算法•曲线和曲面•图形变换•真实图形主要参考书目唐泽圣、周嘉玉、李新友计算机图形学基础,清华大学出版社,1995孙家广、杨长贵,计算机图形学,清华大学出版社,1999计算机辅助设计与图形学学报中国图形图像学报第一章图形设备、系统和应用主要内容:一计算机图形学的发展及应用二图形输入设备三图形显示设备四图形绘制设备1.1计算机图形学的发展及应用什么是计算机图形学用计算机通过算法和程序在输出设备上构造图形。它是研究图形生成、图形存储和图形处理的一门学科。数据计算机图形学图形数字图像处理1.1.1计算机图形学的硬件发展计算机图形学是随着计算机及其外围而产生和发展起来的。1950年,第一台图形显示器诞生:美国麻省理工学院的旋风1号(WhirlwindI)计算机配备了阴极射线管(CRT)式的图形显示器。1958年,美国Calcomp公司将联机的数字记录仪发展成滚筒式绘图仪。美国GerBer公司把数控机床发展成平板式绘图仪。50年代末,美国麻省理工学院的林肯实验室研制的SAGE空中防御指挥系统具有指挥和控制功能,采用光笔作为输入设备,预示着交互式图形生成技术的诞生。开创阶段(50年代-60年代)美国MIT林肯实验室的萨瑟兰德(Ivan.E.Sutherland)发表了一篇题为“Sketchpad:人机通信的图形系统”的博士论文,其中首次使用了“ComputerGraphics”,他是图形学之父。大公司纷纷开发专用的图形系统软件和应用软件。如美国通用汽车公司的计算机辅助汽车设计的DAC系统。60年代中期出现随机扫描显示器。迅速发展阶段(60年代初-60年代末)出现存储管显示器,大大降低图形硬件系统成本,使交互式图形生成技术的广泛应用成为现实。70年代初,出现了一批通用的、可移植的软件系统,价格便宜,使计算机图形技术在各领域得到广泛的应用。降低成本阶段(60年代末-70年代初)基于电视技术的光栅扫描显示器的出现极大地推动了计算机图形学的发展。出现许多新型的图形输入设备,如各类图形输入板,坐标数字化仪,跟踪球,鼠标器等。发展成熟阶段(70年代初-80年代初)图形工作站的出现,极大地促进了计算机图形学的发展,取代了小型机成为图形生成的主要环境。如Apollo,Sun,HP等。推广应用阶段(80年代中-90年代中)微机和软件系统的普及使得图形学的应用领域日益广泛。图形学已经同模式识别、人工智能、数据库等众多领域结合,形成一些交叉学科,如工程数据库、多媒体等。目前(九十年代中至今)1.1.2计算机图形学软件及算法发展计算机图形软件系统主要有以下三种:1、用现有高级语言定写成的子程序包。2、扩充某一个高级语言,使其具有图形生成和处理功能。3、专用的图形系统。计算机图形算法主要有以下几种:1、基本图形元素的算法(直线、圆、二次曲线等)。2、基本图形元素的变换(几何变换、投影变换等)。3、字符的生成及变换。4、真实图形显示。5、图形元素的求交、集合运算等。6、山、水、花、草、云等模糊景物生成。7、虚拟现实环境的生成。•计算机辅助设计(汽车、机械、服装等)•事务管理中的绘图(直方、线条、扇形图等)•科学计算的可视化(流体力学、气象、医学)•过程控制(计算机与其他设备相连,显示各关键部分的工作状态)•艺术和教育•………………...1.1.3计算机图形学的应用计算机辅助设计事务管理和科学计算过程控制艺术和教育1.2图形输入设备•坐标数字化仪•图形扫描仪•键盘•鼠标•光笔•操纵杆•跟踪球1.3图形显示设备目前使用的都是阴级射线管(CRT)显示器。1.3.1CRT(CathodeRayTube)是一种真空器件,它利用电磁场产生高速的、经过聚焦的电子束,偏转到屏幕的不同位置轰击屏幕表面的荧光材料而产生可见图形。CRT剖面示意图灯丝阴级控制栅聚焦系统偏转系统荧光涂层1.3.2彩色CRT三色荧光屏影孔板三个电子枪随机扫描显示器又称向量显示器、笔划显示器,随机扫描显示器电子束的定位和偏转具有随机性,即电子束的扫描轨迹随显示内容而变化,只在需要的地方扫描,而不必全屏扫描。1.3.3随机扫描显示器随机扫描显示器特点无多余扫描、速度快、图象清晰、比光栅系统更高的分辨率、生成光滑线条。不能显示逼真场景、驱动系统也较复杂。不能显示太复杂的图形,因为显示文件会太长,重复扫描图形会闪烁。随机扫描显示器基本工作过程1.3.4存储管式显示器写电子枪读电子枪收集栅存储栅荧光屏泛电子流存储管式显示器特点无需刷新、很复杂的图形都可以在极高的分辨率下无闪烁地显示。成本较低,不需要太大内存。不能显示彩色、不能局部修改、动画效果不好。1.3.5光栅扫描显示器在光栅扫描系统中,电子束横向扫描屏幕,一次一行,从顶到底顺次进行。当电子束横向沿每一行移动时,电子束的强度随帧缓存器中的值而变化,从而在屏幕上建立亮点的图案。灰度光栅显示器结构彩色光栅扫描显示器结构具有8位帧缓存和W位颜色查找表的光栅扫描显示器结构•可显示真实感图形•图形的动画效果较好•显示斜线时有阶梯效应光栅扫描显示器的特点1.3图形绘制设备点阵式笔式点阵式打印机静电打印机激光打印机平板式绘图仪滚筒式绘图仪静电打印机结构激光打印机工作原理第二章基本图形的生成算法主要内容:一直线的扫描转换二二次曲线三自由曲线四字符五区域填充2.1直线的扫描转换(x1,y1)(x2,y2)x=x1+(x2-x1)ty=y1+(y2-y1)t2.1.1数值微分法(DDA)△x=x2-x1,△y=y2-y1k=△y/△xxi+1=xi+1yi+1=kxi+1+B=k(xi+1)+B=kxi+B+k=yi+k(x0,y0)(x1,y1)绘制直线的DDA法程序演示结果MPP2P1QQ2.1.2中点画线法已知起直线段起点(x0,y0)终点(x1,y1)(设直线斜率在0-1之间)当前点为P,则下一点为:Q在M之上为P2Q在M之下为P1直线方程:F(x,y)=ax+by+c=0(a=y0-y1,b=x1-x0,c=x0y1-x1y0)F(M)=a(xp+1)+b(yp+0.5)+c0取P20取P1F(M)=a(xp+1)+b(yp+0.5)+cD=F(M)0取P1,则下一点应取哪一点,计算:D1=a(xp+2)+b(yp+0.5)+c=D+aD=F(M)0取P2,则下一点应取哪一点,计算:D2=a(xp+2)+b(yp+1.5)+c=D+a+bD0=a(x0+1)+b(y0+0.5)+c=F(x0,y0)+a+0.5b=a+0.5b(用2D代替D)起点(x0,y0)D=2a+bD=0x++,D=D+2aD0x++,y++,D=D+2a+2b直到x=x1MPP2P1QQ程序演示2.1.3Breseham法(光栅扫描系统常用算法)在某一计长方向上,每次变化一个象素单位,另一方向是否变化通过计算得到。考虑直线斜率k小于1(△x>△y),步长为1的情况。d=0,x=x0,y=y0(1)x=x+1,d=d+k,(2)d=0.5时y=y+1,d=d-1(3)重复(1)(2)直到x=x1d=-0.5,x=x0,y=y0(1)x=x+1,d=d+k,(2)d=0时y=y+1,d=d-1(3)重复(1)(2)直到x=x1Breseham法绘直线dddd(x0,y0)(x1,y1)Breseham法绘直线d=-0.5,x=x0,y=y0(1)x=x+1,d=d+k,(2)d=0时y=y+1,d=d-1(3)重复(1)(2)直到x=x1设d=2d△xd‘=-△x,x=x0,y=y0(1)x=x+1,d=d+2△y,(2)d=0时y=y+1,d=d-2△x(3)重复(1)(2)直到x=x1绘制直线的Bresham法程序演示结果直线的属性线型、线宽、线色线宽处理水平刷垂直刷方刷2.2圆与随圆的扫描转换2.1.1圆的扫描转换(中点法)讨论圆心在原点的八分之一圆,圆的其它部分通过简单的反射而得到。(y,x)(x,y)(-y,x)(y,-x)(-y,-x)(-x,y)(x,-y)(-x,-y)MPP1P2QQ圆方程:F(x,y)=x2+y2-R2=0D=F(M)=(xp+1)2+(yp-0.5)2-R20取p1再下一点的判别式为:D=(xp+2)2+(yp-0.5)2-R2=D+2xp+3D=F(M)=(xp+1)2+(yp-0.5)2-R20取p2再下一点的判别式为:D=(xp+2)2+(yp-1.5)2-R2=D+2xp-2yp+5起点(0,R)D0=12+(R-0.5)2-R2=1.25-RD=1.25-R,x=0,y=RD0:D=D+2x+3,x=x+1D=0:D=D+2x-2y+5,x=x+1,y=y-1去掉浮点数:设D=D-0.25D=1.25-R-----D=1-RD=0------D=-0.25(D初值为整数)--------D=0D=1-R,x=0,y=RD0:D=D+2x+3,x=x+1D=0:D=D+2x-2y+5,x=x+1,y=y-1再简化:D=D+2x+3---D=D+dx(dx=2x+3:x=x+1,dx=dx+2)---D=D+dx,dx=dx+2D=D+2x-2y+5---D=D+dx+dy(dy=-2y+2:y=y-1,dy=dy+2)---D=D+dx+dy,dx=dx+2,dy=dy+2D=1-R,x=0,y=R,dx=3,dy=-2R+2D0:D=D+dx,dx=dx+2D=0:D=D+dx+dy,dx=dx+2,dy=dy+2VB程序段:dy=-r-r+2:d=1-r:x=0:y=rDoWhiley=xPicture1.PSet(x,y)If(d0)Thend=d+dx:dx=dx+2:x=x+1Elsed=d+dx+dy:dx=dx+2:dy=dy+2x=x+1:y=y-1EndIfLoop程序演示2.1.2Breseham法讨论圆心在原点的第一象限的四分之一圆周x从0到R,y从R到0。(x,y)的下一点有:H,D,V三种可能。误差公式:△H=(x+1)2+(y)2-R2△D=(x+1)2+(y-1)2-R2△V=(x)2+(y-1)2-R2△D<0令dHD=|△H|-|△D|dHD≥0,取D,dHD<0,取H△D>0令dDV=|△D|-|△V|dDV≥0,取V,dDV<0,取D1R(x,y)234HDV5△D<0:情况2:H在圆外,所以△H>0,D在圆内,所以△D<0dHD=△H+△DBreseham法绘圆情况1:因为H,D都在圆内,取H即△H<0,△D<0dHD=△H+△D<0,△D>0:情况4:D在圆外,所以△D>0,V在圆内,所以△V<0dDV=△D+△V情况5:因为D,V都在圆外,取V,即△D>0,△V>0dDV=△H+△D>0,dHD=|△H|-|△D|dDV=|△D|-|△V|去掉绝对值:2(x,y)34HDV51△D<0dHD=△H+△DdHD≥0,取D,dHD<0,取H△D>0dDV=△D+△VdDV≥0,取V,dDV<0,取D△D=0取D简化计算:dHD=△H+△D=(x+1)2+(y)2-R2+(x+1)2+(y-1)2-R2=2△D+2y-1dDV=△D+△V=(x+1)2+(y-1)2-R2-(x)2+(y-1)2-R2=2△D-2x-1取H:△D’=(x+1+1)2+(y-1)2-R2=△D+2x’+1取D:△D’=(x+1+1)2+(y-1-1)2-R2=△D+2x’-2y’-2取V:△D’=(x+1)2+(y-1-1)2-R2=△D-2y’+1HDV(x,y)(x’,y’)(x’,y’)(x’,y’)△D=(x+1)2+(y-1)2-R2=1+(R-1)2-R2=2-2Rx=0,y=r△D<0,dHD=2△D+2y-1x=x+1,dHD≥0,y--,△D=△D+2x-2y-2dHD<0,△D=△D+2x+1△D>0,dDV=2△D-2x-1y=y-1dDV≥0△D=△D-2y+1,dDV<0,x++,△D=