《2022年计算机图形学复习课总结.docx》由会员分享,可在线阅读,更多相关《2022年计算机图形学复习课总结.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 绪论1 点阵法和参数法的概念;图形、图像的概念;点阵法 是用具有颜色信息的点阵来表示图形的一种方法,成,并具有什么灰度或颜色;它强调图形由哪些点组参数法 是以运算机中所记录图形的外形参数与属性参数来表示图形的一种方法;通常把参数法描述的图形叫做图形(Graphics)把点阵法描述的图形叫做图象(Image)2 运算机图形学的概念?运算机图形学是讨论怎样用运算机表示、生成、处理和显示图形的一门学科;3 图形包括哪两方面的要素,试举例说明;图形包括两方面的要素,其中有几何要素和非几何要素1. 几何要素:点,线,面,体等;2. 非几何要素:明暗,灰度
2、,颜色等4 一个交互性的图形系统具有哪些功能?5 个功能: 输入功能、储备功能、运算功能、输出功能和交互功能5 图形输出设备包括什么?常用的图形绘制设备有哪两种?图形输出设备包括图形显示设备和图形绘制设备,常用的图形绘制设备有打印机和绘图仪;名师归纳总结 6与运算机图形学相关的学科有哪些?各自讨论的内容是什么?第 1 页,共 11 页- - - - - - -精选学习资料 - - - - - - - - - 运算机视觉: 讨论用运算机来模拟生物外显或宏观视觉功能的科学和技术图像处理: 对图象进行各种加工以改善图象的视觉成效C 语言程序基础(课件中p17, p55-59,常用画图函数)1 已知画
3、“ 王” 的 C 语言程序(如下) ,要求改编一个画“ 田” 字的程序,该字的字高和字宽均为 50,字的左上角点坐标为(60, 80);#include graphics.h #include conio.h main int gdriver=DETECT,gmode; int x,y; initgraph&gdriver,&gmode,“ ”/* 初始化图形系统 */ cleardevice; /* 清除图形屏幕 */ moveto100,40; /* 肯定移动光标 */ linerel40,0; /* 从当前位置按增量方式画线 */ x=getx; y=gety; movetox,y+20
4、; linerel-40,0; moverel0,20; /* 以增量方式移动当前光标*/ linerel40,0; moverel-20,0; linerel0,-40; getch; closegraph; /* 关闭图形系统,返回文本模式*/ 2 画一个填充颜色的圆(画一个填充颜色的矩形,已知矩形的左下角(0,20),右上角坐标为( 100,120),圆心坐标(60,60),半径 100,要求背景色为 1 号色( blue ),圆的边界色为红色,填充色为 Green ,(函数:circle floodfill )#include graphics.h 名师归纳总结 - - - - - -
5、 -第 2 页,共 11 页精选学习资料 - - - - - - - - - #include conio.h main int gdriver=DETECT,gmode; initgraph&gdriver,&gmode, tcbgi; setbkcolor1; /* 设置背景色,蓝色 */ setcolor4; /* 设置前景色,红色 */ circle100,100,80; /*圆心 100,100,半径为 80*/ setfillstyleSLASH_FILL,2; /* 用粗斜杠填充和填充绿色 */ floodfill100,100,4; /*填充一个封闭圆 *,从圆心开头,边界用
6、4 号颜色红色进行填充 / getch; closegraph; setfillstyleSOLID_FILL,GREEN; /* 实填充,颜色为绿色* / bar100,100,150,200; setfillstyle4,RED; /* 用粗斜杠填充 , 颜色为红色 */ bar3d200,100,250,200,10,1; /* 三维条形的深度为 10,放置顶盖 */ getch; closegraph; 3 画五光十色的圆;其图形如下列图:程序如下:#include graphics.h #include conio.h main int i,start,end; int gd,gm;
7、 detectgraph&gd,&gm; initgraph&gd,&gm,; 名师归纳总结 - - - - - - -第 3 页,共 11 页精选学习资料 - - - - - - - - - start=0; end=20; fori=0;i18;i+ setfillstyleSOLID_FILL,i; /*填充类型和颜色 */ pieslice300,200,start,end,100; /* 扇形填充 */ start+=20; end+=20; getch; restorecrtmode; /* 复原屏幕在初始化前的模式 */ 圆心( 300,200),半径 100,start 为起始
8、角, end 为终止角几何表示1、图形信息包括:几何信息和拓扑信息2、 运算机中表示三维形体的模型,假如依据几何特点进行分类,大体上可以分为三种哪三种?线框模型、表面模型和实体模型;线框模型 :只用顶点和邻边表示三维形体;缺点:具有二义性,简单构造出无效 的实体;表面模型:边界表示 (Boundary representation, B-reps );构造表示(扫描表示、构造实体几何表示和特点表示) ;分解表示名师归纳总结 - - - - - - -第 4 页,共 11 页精选学习资料 - - - - - - - - - 图形变换 1、什么是齐次坐标,规范化的齐次坐标?为什么要进行规范 化?2
9、、图形变换的标准形式:xy 1xy1T 2Dxy1abpcdq平移矩阵:100lms0100T xT y1cossin旋转矩阵:sincos0逆时针0001比例变换矩阵:S x0S y00001例题 1. 已知三角形各顶点坐标为(10,10),(10,30),( 30,15),试对其进行以下变换,写出变换矩阵,画出变换后的图形;名师归纳总结 (1)沿 X 向平移 20,沿 Y 向平移 15,再绕原点逆时针方向旋转90 度第 5 页,共 11 页(2)绕原点旋转,再沿X 向平移 20,沿 Y 轴平移 15 - - - - - - -精选学习资料 - - - - - - - - - 解:(1)由二
10、维图形变换相关学问,可得变换矩阵为1 0 0 cos90 sin 90 0 = 0 1 0 0 1 0 -sin90 cos90 0 -1 0 0 25 15 1 0 0 1 -15 2 1 依据得出的新坐标可画出图形(图形略)(2)变换矩阵为:T= 0 1 0 1 0 0 -1 0 0 0 1 0 0 0 1 25 15 1 由得出的新坐标画图3、相对固定点的变换步骤:相对某个参考点 xF,yF作二维几何变换,其变换过程为:1 将固定点平移至坐标原点,进行平移变换2 针对原点进行二维几何变换;3 进行反平移,将固定点移回至原先的位置4、窗视变换:窗视变换矩阵推导的步骤:1、将窗口左下角点wx
11、l, wyb移至用户坐标系的坐标原点: 2、针对原点进行比例变换,运算比例变换系数Sx wxr vxr vxlwxl Sywytvyt vybwyb3、进行反平移: 将视区左下角点移至设备坐标系原先的位置 vxl, vyb ;名师归纳总结 - - - - - - -第 6 页,共 11 页精选学习资料 - - - - - - - - - S x00T 0 S y 0wxl S x vxl wyb S y vyb 1写出实现下述映射的规范化变换,将左下角在(1,1),右上角在(3,5)的窗口映射到(a)规范化设备的全屏幕视区;(b)左下角在( 0, 0),右上角在 1,1 的视区;2 2(a)
12、窗口参数是 wx min ,1 wx max 3 , wy min ,1 wy max 5;视区参数是 vx min 0 , vx max ,1 vy min 0 , vy max 1;那么 s x 1 , s y 12 4且窗视变换矩阵为 ?(b) 窗口参数同(a);视区参数是vx min,0vx max1,vy max,0wy min1;那22么s x1,s y1 8且4窗视变换矩阵为 ?图形生成直线生成算法:DDA 算法, 中点算法, Bresenham算法 ,重点把握第一种和第三种,K1 的情形(课件中 P16, P24,p36 )DDA 算法的步骤:1 运算 x 的增量, y 的增量
13、; 2)运算斜率k:3)xi+1=xi+1, yi+1=yi+k 名师归纳总结 - - - - - - -第 7 页,共 11 页精选学习资料 - - - - - - - - - 改进的中点算法步骤:1 运算 x 的增量, y 的增量;2)运算斜率 k; 3)运算 d0, d1,d2, d0=2a+b, d1=2a, d2=2a+2b , 4)假如 d=0, y 方向不前进,增量为 d1;改进的 Bresenham算法算法步骤 为:1.输入直线的两端点P0x0,y0和 P1x1,y1;2.运算初始值x、 y、e=-0.5、x=x0、y=y0;3.绘制点 x,y ;4.e 更新为 e+k,判定
14、e 的符号;如 e0,就x,y更新为 x+1,y+1,同 时将 e 更新为 e-1;否就 x,y更新为 x+1,y;5.当直线没有画完时,重复步骤 运算步骤:3 和 4;否就终止;1)运算 x 的增量, y 的增量;2)运算斜率k; 3) e0=-0.5, e=e0+k, 4)如 e0,就 x,y 更新为 x+1,y+1 ,同时将 e 更新为 e-1;否就 x,y 更新为 x+1,y ;例题:1一条直线的两个端点是(0,0)和( 10,6),运算 x 从 0 变到 6 时 y 所对应的值,并画出结果;( DDA 算法)2 请指出用 Bresenham 算法扫描转换从像素点(并画图表示;圆的生成
15、算法改进的 Bresenham 画圆算法1 输入圆的半径 R;0,0)到( 8,5)的线段时的像素位置,名师归纳总结 - - - - - - -第 8 页,共 11 页精选学习资料 - - - - - - - - - 2.运算初始值 d=1-R、x=0、y=R;3.绘制点 x,y 及其在八分圆中的另外七个对称点;4.判定 d 的符号;如 d0,就先将 d 更新为 d+2x+3,再将 x,y更新 为x+1,y;否就先将 d 更新为 d+2x-y+5,再将x,y更新为 x+1,y-1;5.当 xy 时,重复步骤 3 和 4;否就终止;例题:利用中点RBresenham 算法扫描转换圆心在O0,0,
16、 R 为 8 的圆 位于( 0,R)至(R2,2)区间图形裁剪 1、 图形裁剪的概念,为什么要进行图形裁剪?图形裁剪的主要工 作?( a.图形元素在窗口内外的判别;b.图形元素与窗口的交点; )2、 已知窗口和点的坐标,要求写出点的区域编码例题:左下角 L( 3,1),右上角为 的区域编码;解答:R(2,6)的矩形窗口;请写出图中的线段端点A( 4,2) 0001 B( 1,7) 1000 C( 1,5) 0000 D(3,8) 1010 E( 2,3) 0000 F(1, 2) 0000 G(1,2) 0100 H(3,3) 0010 I( 4,7) 1001 J( 2,0) 1000 J-
17、2,10 y B-1,7 I-4,2 A-4,2 C-1,5 D3,8 y max=6 E-2,3 H3,3 F1,2 y min=1 x 名师归纳总结 X min=-3 G1,-2 X max=2 第 9 页,共 11 页- - - - - - -精选学习资料 - - - - - - - - - 3、 把握 Cohen-Sutherland 直线裁剪算法裁剪一条线段时, 先求出端点 p1 和 p2 的编码 code1和 code2,然后:1如 code1|code2=0,对直线段应简取之; (取位或运算)2如 code1&code2 0,对直线段可简弃之;(取位与运算)3如上述两条件均不成立
18、;就需求出直线段与窗口边界的交点;在交点处把线段一分为二,其中必有一段完全在窗口外,可以弃之;再对另一段重复进行上述处理, 直到该线段完全被舍弃或者找到位于窗口内的一段线段为止;区域填充1多边形的两种表示方法:顶点法和点阵法2多边形的扫描转换:多边形顶点表示转换为点阵表示3扫描线填充的四个步骤?a.求交 b.排序 c.交点配对 d.区间填色4交点的取舍问题:共享顶点的两条边在扫描线的同一边,计 2 次交点; 如共享顶点的两条边分别落在扫描线的两边,计 1 次交点;改进的有效边表算法名师归纳总结 - - - - - - -第 10 页,共 11 页精选学习资料 - - - - - - - - -
19、 存在问题:. 如何判定一条边开头进入下一条扫描线,以便将此边插入到活性边表中. 如何判定扫描线何时离开一条边,以便准时从活性边表中将该边删除解决方法:1. 利用相邻扫描线之间的相关性,构造有效边表AET(Active Eges Table ),表中只记录与当前扫描线相交的活动边,而且这些边依据与扫描线 y 交点的 x坐标排序,以便交点匹配和填充;2.先构造边表( ET ),再构造活动边表AET 解决上述问题的详细措施是建立边表为什么图形会显现走样?什么是图形的发走样技术?常用的反走样方法有哪些?消隐的概念,为什么要进行消隐?消隐算法讨论多边形之间的遮挡关系;消隐的结果与被观看的物体有关,也与视点的位置有关;名师归纳总结 - - - - - - -第 11 页,共 11 页