计算机图形学复习课归纳总结_第1页
计算机图形学复习课归纳总结_第2页
计算机图形学复习课归纳总结_第3页
计算机图形学复习课归纳总结_第4页
计算机图形学复习课归纳总结_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文档编码 : CX6N6E6L10B1 HJ9O2Y7P1U6 ZV6E3B3P1Y9绪论 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.hmain int gdriver=DETECT,gmode; int x,y; initgraph&gdriver,&gmode, “”/*初; 始化图形系统 */ cleardevice; /* 清除图形屏幕 */ moveto100,40; /* 确定移动光标 */ linerel40,0; /* 从当前位置按增量方式画线 */ x=getx; y=gety; movetox,y+20; line

4、rel-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 第 2 页,共 11 页#inc

5、lude conio.h main int gdriver=DETECT,gmode; initgraph&gdriver,&gmode, t“cbcg: i; setbkcolor1; /* 设置背景色,蓝色 */ setcolor4; /* 设置前景色,红色 */ circle100,100,80; /* 圆心 100, 100,半径为 80*/ setfillstyleSLASH_FILL,2; /* 用粗斜杠填充和填充绿色 */ floodfill100,100,4; /* 填充一个封闭圆 * ,从圆心开头, 边界用 4 号颜色红色进行填充 / getch; closegraph; s

6、etfillstyleSOLID_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; detectgraph&gd,&gm; initgraph

7、&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 为起始角, end 为终止角 几何表示 1,图形信息包括: 几何信息和拓扑信息 2, 运算机中表示三维形体的模型,假如依据几何特点进行分类, 大体上可

8、以分为三种哪三种? 线框模型,表面模型和实体模型; 线框模型 :只用顶点和邻边表示三维形体;缺点:具有二义性,简洁构造出无效 的实体; 表面模型:边界表示 (Boundary representation, B-reps );构造表示(扫描表示, 构造实体几何表示和特点表示) ;分解表示 第 4 页,共 11 页图形变换 1, 什么是齐次坐标,规范化的齐次坐标?为什么要进行规范 化? 2, 图形变换的标准形式: x y 1x y 1T2 D x y 1abpc dq平移矩阵: 100l m s 010旋转矩阵: Tx Ty 1cos sin 0sincos 0逆时针 0 001比例变换矩阵:

9、Sx 00Sy 000 1例题 1. 已知三角形各顶点坐标为( 10, 10),( 10, 30),( 30, 15),试对其进行以下变换, 写出变换矩阵,画出变换后的图形; ( 1) 沿 X 向平移 20,沿 Y 向平移 15,再绕原点逆时针方向旋转 90 度 ( 2) 绕原点旋转,再沿 X 向平移 20,沿 Y 轴平移 15 第 5 页,共 11 页解:( 1) 由二维图形变换相关学问,可得变换矩阵为 100cos90 sin 90 0= 010010-sin90cos900-1 0025 15 10 0 1-15 21依据得出的新坐标可画出图形(图形略) (2)变换矩阵为: T= 010

10、1001-1 0001000125 15 由得出的新坐标画图 3, 相对固定点的变换步骤: 相对某个参考点 xF,yF作二维几何变换,其变换过程为: 1 将固定点平移至坐标原点,进行平移变换 2 针对原点进行二维几何变换; 3 进行反平移,将固定点移回至原先的位置 4, 窗视变换: 窗视变换矩阵推导的步骤: 1,将窗口左下角点 wxl, wyb 移至用户坐标系的坐标原点 : 2,针对原点进行比例变换,运算比例变换系数 S x wxr vxr vxl wxl S y wyt vyt vyb wyb 3,进行反平移: 将视区左下角点移至设备坐标系原先的位置 vxl, vyb ; 第 6 页,共 1

11、1 页T wxl Sx vxl 0vyb 00Sy 0Sx 1wyb Sy 写出实现下述映射的规范化变换,将左下角在( 1,1),右上角在( 3, 5)的窗口映射到 (a)规范化设备的全屏幕视区; ( b)左下角在( 0, 0),右上角在 1 1 , 2 2 的视区; 1 4(a) 窗 口参数是 wxmin 1, wxmax 3, wymin 1, wymax 5 ; 视区参数是 vxmin 0,vxmax 1,vymin 0,vymax 1;那么 sx 1, sy 2且 窗视变换矩阵为 ? (b) 窗 口参数同( a);视区参数是 vx min 0, vx max 1 ,vy max 20,

12、 wy min 1;那 2么 sx 1 , 4 sy 1且 8窗视变换矩阵为 ? 图形生成 直线生成算法: DDA 算法, 中点算法, Bresenham 算,重点把握 法 第一种和第三种, K1 的情形 (课件中 P16, P24,p36 ) DDA 算法的步骤: 1 运算 x 的增量, y 的增量; 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 方向不前进,

13、增量为 d1; 改进的 Bresenham 算 法 算法步骤 为: 1.输入直线的两端点 P0 x0,y0和 P1x1,y1; 2.运算初始值 x, y, ,x=x0, y=y0 ; 3.绘制点 x,y ; 4.e 更新为 e+k,判定 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) , e=e0+k, 4)如 e0,就 x,y 更新为 x+1,y+1 ,同时将 e 更新为 e-1;否就

14、x,y 更新为 x+1,y ; 例题: 1 一条直线的两个端点是( 0, 0)和( 10,6),运算 x 从 0变到 6时 y 所对应的值,并 画出结果;( DDA 算法) 2 请指出用 Bresenham 算法扫描转换从像素点( 并画图表示; 圆的生成算法 改进的 Bresenham 画圆算法 1 输入圆的半径 R; 0, 0)到( 8, 5)的线段时的像素位置, 第 8 页,共 11 页2.运算初始值 d=1-R, x=0, y=R; 3.绘制点 x,y 及其在八分圆中的另外七个对称点; 4.判定 d 的符号;如 d 0,就先将 d 更新为 d+2x+3,再将 x,y 更新 为x+1,y;

15、否就先将 d 更新为 d+2x-y+5 ,再将 x,y更新为 x+1,y-1; 5.当 xy 时,重复步骤 3 和 4;否就终止; 例题:利用中点 Bresenham 算法扫描转换圆心在 R)至( R2, R 2)区间 图形裁剪 O0,0, R 为 8 的圆 位于( 0, 1, 图形裁剪的概念,为什么要进行图形裁剪?图形裁剪的主要工 作?( a.图形元素在窗口内外的判别; b.图形元素与窗口的交点; ) 2, 已知窗口和点的坐标,要求写出点的区域编码 例题:左下角 L( 3,1),右上角为 的区域编码; 解答: R( 2,6)的矩形窗口;请写出图中的线段端点 A ( 4,2) 0001 B(

16、1, 7) 1000 C( 1,5) 0000 D( 3, 8) 1010E( 2,3) 0000 F( 1, 2) 0000 G( 1,2) 0100 H (3, 3) 0010 I( 4,7) 1001 J( 2, 0) 1000 J-2,10 y B-1,7I-4,2 A-4,2 C-1,5 D3,8 ymax=6 E-2,3 H3,3 F1,2 ymin=1 x X min=-3 G1,-2 X max=2 第 9 页,共 11 页3, 把握 Cohen-Sutherland 直线裁剪算法 裁剪一条线段时, 先求出端点 p1 和 p2 的编码 code1 和 code2,然后: 1如

17、code1|code2=0,对直线段应简取之; (取位或运算) 2如 code1&code2 0,对直线段可简弃之; (取位与运算) 3如上述两条件均不成立;就需求出直线段与窗口边界的交点;在 交点处把线段一分为二,其中必有一段完全在窗口外,可以弃之;再 对另一段重复进行上述处理, 直到该线段完全被舍弃或者找到位于窗 口内的一段线段为止; 区域填充 1 多边形的两种表示方法: 顶点法和点阵法 2 多边形的扫描转换:多边形顶点表示转换为点阵表示 3 扫描线填充的四个步骤? a.求交 b.排序 c.交点配对 d.区间填色 4 交点的取舍问题: 共享顶点的两条边在扫描线的同一边, 顶点的两条边分别落在扫描线的两边,计 改进的有效边表算法 计 2 次交点; 如共享 1 次交点; 第 10 页,共 11 页存在问题: . 如何判定一条边开头进入下一条扫描线,以便将此边插入 到活性边表中 . 如何判定扫描线何时离开一条边,以便准时从活性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论