湖北理工 计算机图形学考试.doc_第1页
湖北理工 计算机图形学考试.doc_第2页
湖北理工 计算机图形学考试.doc_第3页
湖北理工 计算机图形学考试.doc_第4页
湖北理工 计算机图形学考试.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1. 计算机图形学:研究通过计算机将数据转换为图形,并在专用显示设备上显示的原理、方法和技术的学科 。涵盖三部分:数据,计算机,输出设备。2. 图像处理:利用计算机对原来存在物体映像进行分析处理,然后再现图像。如CT,遥感照片3. 模式识别:计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。如邮件分拣、邮政编码识别4. 计算机图形产生方法:矢量法(逼近)、描点法(像素)。5. 计算机图形学发展概况:1950年美国麻省理工学院研制出第一台图形显示器。1962年 美国麻省理工学院林肯实验室的伊凡萨瑟兰德,首先提出了“计算机图形学”。60年代中期美国、英国、法国的一些汽车、飞机制造业大公司对计算机图形学开展大规模研究包括计算机辅助设计CAD和计算机辅助制造CAM。1. 图形系统的结构由硬件和软件组成。 2. 计算机图形系统根据其硬件配置和信息传递方式分为: 脱机绘图系统是将图形数据和图形输出分别进行处理,避免计算机处于等待状态,加快计算机的工作效率。联机绘图系统、交互式绘图系统。3. 阴极射线管(CRT-Cathode Ray Tube)4. 荫罩式彩色CRT:RGB电子枪打到荫罩板上的小孔,轰击荧光屏上的三角形的RGB荧光点。5. VGA(Video Graphics Array)视频图形阵列标准标准VGA多频彩显640*480增强VAG多频彩显800*600SVAG多频彩显1024*768QVAG多频彩显1028*10246. 计算机图形输入输出设备计算机图形输出设备:显示器、绘图仪、打印机7. 图形核心系统(GKS)GKS的功能一、提供了各种物理的图形输入、输出设备和应用软件之间的接口,二、提供了与各种高级语言的接口。8. GKS图形输入设备1定位设备(鼠标器、操纵杆、跟踪球、数字化仪)2笔画设备(数字化仪、鼠标器、光笔)3拣取设备(数字化仪、鼠标器、光笔)4选择设备(按钮,功能键,鼠标器)5数值输入设备(数字键盘、按钮)6字符串输入设备(ASCII键盘)。9. 通用图形软件的分类:图形程序包,基本图形资源软件,二维、三维交互图形软件,几何造型软件,动画技术软件。10. Turbo C中图形函数均在头文件“graphics.h”中定义,所以,凡是在程序中要调用这些图形函数,都必须在程序文件的开头写上文件包含命令:# include graphics.h11. 画实心长方形# include graphics.h# include “conio.h”main()int gdriver=DETECT,gmode; /*自启动搜寻显示器类型和显示模式*/ initgraph(&gdriver,&gmode,c:tc);/*初始化*/ bar3d(10,20,50,80,0,0);/*画实心长方形*/getch(); /*等待按一键*/closegraph();/*关闭图形系统,返回文本模式*/return (0);12. 画一个圆把背景色设置为淡灰色# include graphics.h# include “conio.h”Void main()int gdriver=DETECT,gmode; /*自启动搜寻显示器类型和显示模式*/ initgraph(&gdriver,&gmode, );/*初始化*/Setbkcolor(LIGHTGRAY);Cleardevice();Circle(120,100,50);getch(); /*等待按一键*/Restorecrtmode();13. 将背景颜色设置为黄色,画笔设置为红色, 画一圆。#include graphics.h#include conio.hvoid main()int gdriver,gmode; gdriver=VGA; gmode=EGAHI; initgraph(&gdriver,&gmode, ); setbkcolor(YELLOW); /*设置背景色为黄色*/ setcolor(RED);Cleardevice(); /*设置画笔为红色*/ circle(120,100,50);/*画一圆*/ getch(); closegraph(); 代 号 名 代 码 说 明 SOLID-LINE 0 实线 DOTTED-LINE 1 点线 CENTER-LINE 2 中心线 DASHED-LINE 3 虚线 USERBIT-LINE 4 用户定义的线形14. 线例:1111 1111 1111 1111 16位全置1,因此画一条16个像素的点实线(就是实线)。 1010 1010 1010 1010 则隔位置1,因此画一条16个像素的点虚线(就是点线)。15. 指定两点间画一直线void far line(int x1,int y1,int x2,int y2);用当前颜色从点(x1,y1)到点(x2,y2)画一条直线,当前位置(CP)不变。16. 从当前位置到(x,y)点画一条直线void far lineto(int x,int y);用当前颜色从当前位置(CP)到(x,y)点画一条直线,并把(CP)位置定位在(x,y)点。17. 从当前坐标以相对增量方式画直线void far linerel(int deltax, int deltay)从当前位置到相对CP位置在X方向增大deltax,在Y方向增大deltay画一直线。18. 数值微分法(DDA法)基本思想:选定x2x1和y2y1中较大者作为步进方向(假设x2x1较大)取该方向上的x为一个像素单位长, 即x每次递增一个像素,然后利用前面公式计算相应的y值,把每次计算出的(xil, yi1)经取整后顺序输出到显示器,则得光栅化后的直线。算法程序DDA-line(xl,y1,x2,y2)int xl, y1, x2, y2;float increx,increy,x,y,length;int i;if(abs (x2xl ) abs(y2y1)length = abs(x2x1);elselength = abs(y2y1);increx = (x2x1)/length;increy = (y2y1)/length;x=x1;y=y1;for(i = l; iincrex)temp=increx;increx=increy;increy=temp;interchange=1;Else interchange=0; e=2*increyincrex;for (i=1;i=0) if(interchange=1) x=xs1; else y=ys2; e=e2*increx; if (interchange=1) y=ys2;Else x=xs1; e=e2*increy 20. 扫描线种子填充算法算法可分为以下五步1 初始化。将算法设置的堆栈置为空。将给定的种子(x,y)压入堆栈。2 出栈。如果堆栈为空,算法结束。否则从包含种子像素的堆栈中取出栈顶元素(x,y)作为种子像素。3 区间填充。沿当前扫描线对种子像素的左右像素进行填充(像素值为new_color),直至遇到边界像素为止,从而填满包含种子像素的区间。4 定范围。以xl和xr分别表示步骤()区间内最左和最右的两个像素。5 进栈。在xlxxr中,检查与当前扫描线相邻的上下两条扫描线是否全为边界像素(boundary_color)或者前面已经填充过的像素(new_color),是则转到步骤(2),否则在xlxxr中把每一个区间的最右像素作为种子像素压入堆栈,再转到步骤(2)继续执行。 21. 各顶点坐标A(3,0),B(4,2),C(6,0)使其绕原点转90度,再向X方向平移2,Y方向平移1。解:因=90O 则变换矩阵:如果先进行平移变换,再进行旋转变换,则矩阵为:22. 设有一三角形ABC,其三个顶点坐标为A(2,4),B(2,2),C(5,2),求对于直线2x+3y+3=0的对称变换后= arcty(-A/B)=arcty(2/3)33041变换后的如下图所示。23. 编码裁剪法:把包含窗口的平面区域沿窗口的四条边线分成九个区域.每个区域用一个四位代码来表示,代码中每一位分别是0或1,是按照窗口边线来确定的,下面给出编码规则,其中最右边的位是第一位,依次第二、三、四位。第一位置 l:该端点位于窗口左侧 第二位置 l:该端点位于窗口右侧 第三位置 1:该端点位于窗口下面第四位置 l:该端点位于窗口上面否则,相应位置置0。24. 已知多边形各顶点坐标为(2, 2)(2, 4)(8, 6)(12, 2)(8, 1)(6, 2)及(2, 2),在用多边形区域填充时,请写出ET及全部AET内容。解:如图所示:则该多边形的ET表为: 6623P2P3 5 4612-1P4P3420P1P2 3 2284P5P428-2P5P6 1该多边形的AET指针的内容为:(每条扫描线均有3行指针链,第1行表示将ET表加入AET中,第2行表示从AET表中删去yi=ymax,第3行表示xi=xi+1/m后,学生只要写出第2行即可)28-2P5P6284P5P4AET1284P5P428-2P5P6AET26-2P5P6AET2124P5P426-2P5P6420P1P2AET22124P5P4612-1P4P3420P1P2AET612-1P4P3AET420P1P2611-1P4P3611-1P4P3420P1P2AET3AET420P1P2611-1P4P3AET420P1P2610-1P4P3610-1P4P3AET623P2P3420P1P24 610-1P4P3623P2P3AET69-1P4P3653P2P3AET 653P2P369-1P4P3AET569-1P4P3653P2P3AETAET683P2P368-1P4P368-1P4P3683P2P3AET6 25. 已知四边形各顶点坐标为(0, 0),(20, 0),(20, 15)和(0, 15),对此图形分别进行下列比例变换:(1) 使长度方向缩小一半,高度方向增长一倍;(2) 使整个图形放大一倍。解:如图所示,实线部分为原图,虚线部分为变换后得到的图形: Y 30 15 (1) (2)10 20 40 X(1) 原先坐标 变换矩阵 变换后坐标 *=(2) 原先坐标 变换矩阵 变换后坐标 *= 归一化 26. 已知三角形各顶点坐标为(10,10),(10,30),(30,15),试对其进行下列变换,写出变换矩阵,画出变换后的图形。(1) 沿X向平移20,沿Y向平移15,再绕原点旋转90度(2) 绕原点旋转,再沿X向平移20,沿Y轴平移15解:(1)由二维图形变换相关知识,可得变换矩阵为1 0 0 cos90 sin 90 0 0 1 00 1 0 -sin90 cos90 0 = -1 0 020 15 1 0 0 1 -15 20 1根据得出的新坐标可画出图形(图形略)新坐标的值为-25, 30-45, 30-30, 50(2)变换矩阵为: 10 10 1 0 1 0T= 10 30 1 -1 0 0 30 15 1 20 15 1 坐标数据点 变换矩阵 10 25 1T= -10 25 15 45 1由得出的新坐标画图(图形略)35. 三维比例变换1 局部比例变换2 全比例变换当s1时,则立体各方向等比例缩小;当0s1对,则立体各方向等比例放大。3 三维平移交换例 设变换矩阵中l3,m=3,n3,试对单位立体进行平移变换。36. 三维旋转变换1 绕Z轴旋转角 变换结果为: 2 绕X轴旋转角 变换结果为: 3 绕Y轴旋转角 变换结果为: 37. 三维投影变换分类38. 立体透视投影变换根据透视投影中灭点多少又可分为一点透视、二点透视和三点透视。39. 三维图形裁剪在二维图形裁剪过程中,图形视见区域是一个矩形窗口,常用的三维窗口有两种形状:一种是平行投影立方体三维窗口;另一种是透视投影的棱台。 40. 深度缓冲器法基本思想是:对于显示屏上的每一个像素点(x,y),测试一系列平面,记录下位于此像素投射线上最靠近观察点的平面的深度。除了深度外,一般还需记录下用以显示此对象的亮度值。一般的深度缓冲器算法采用两个数组,一个用来记录每一个像素点的深度值,一个用来记录此像素点所对应的亮度值。深度缓冲器算法的过程:1)对于屏幕上每一个像素点(x,y),置深度缓冲器Depthxy为一较大值,置亮度缓冲器为背景值;2)对于景中的每个多边形,找出多边形投影到屏上时位于其边界内的全部像素(x,y)。对于这些像素计算出此多边形在(x,y)处的深度z;如果zDepthxy,此多边形相对于其它多边形在(x,y)处更靠近观察者,所以置Depthxy=z,置亮度数组为该多边形的亮度值。如果zDepthxy,说明该多边形在此像素点处被其它多边形隐藏,所以不采取任何行动。当对所有像素进行扫描后,深度缓冲器和亮度缓冲器分别包含了所有可见点及可见的亮度值。41. 消隐的意义是什么?消隐的主要意义是为了得到一个确定的、立体感强的投影图。42. Phong光照模型Ir Ia Kar Ip Kdr (LN)Ks (RV) nIg Ia KagIp Kdg(LN)Ks (RV) nIb Ia KabIp Kdb (LN)Ks (RV) n43. Z缓冲器方法 由于阴影是光线照射不到面观察者却可见到的区域,换句话说,阴影是相对于光源不可见而观察点却可见到的区域。所以在画面中生成阴影的过程基本上相当于二次消隐,一次是对光源消隐,另一次是对视点消隐,Z缓冲器算法就是基于这个原理。 该法的优点:能处理任意复杂的景物,可以较方便地在光滑曲面上生成阴影,且计算量小,程序简单;缺点:阴影缓冲器的存储耗费较大。44. RGB彩色模型和CMY彩色模型的差异彩色模型也称为加色模型,色彩来源于红、绿、蓝3种基本色。它主要用来描述发光设备,如显示器、电视机、扫描仪等装置所表现的颜色 彩色模型也称为减色模型,色彩来源于青、洋红、黄3种基色主要适用彩色印刷领域。 45. 传统动画和计算机动画有什么不同?传统动画采用手工方法制作,精度差且效率低;而计算机动画立体感强,可以改变视角、视距、视野及景深,具有明暗光线变化和阴影,使物体产生不同灰度和颜色渐变以及逼真的光照,可以产生纹理质感,且这些特点与效果是手工动画难以实现或不可能实现的。46. 计算机动画研究的内容是什么?从目前国外对计算机动画的研究来看,计算机动画研究的具体内容可分为以下方面:(1)关键帧动画;(2)基于机械学的动画和工业过程动画仿真;(3)运动和路径的控制;(4)动画语言与语义;(5)基于智能的动画,机械人与动画;(6)动画系统用户界面;(7)科学可视化计算机动画表现;(8)特技效果,合成演员;(9)语言、音响合成,录制技术。47. 简要说说你对OpenGL及OGRE的认识?(1)GL是美国SGI公司为图形工作站开发的一种功能强大的三维图形机制,经过长期发展,在跨平台移植的过程中,由GL扩充形成了OpenGL,目前,它已经成为高性能图形和交互式视景处理的工业标准。有了OpenGL的帮助,编程者可以轻松地进行三维动画的程序设计。OpenGL提供的相关库有:1)OpenGL核心库(GL)2)OpenGL实用库(GLU)3)OpenGL辅助库(GLAUX)4)OpenGL工具库(GLUT)5)Op

温馨提示

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

评论

0/150

提交评论