当前位置:文档之家› 图形学复习题及其解答

图形学复习题及其解答

1.计算机图形学的定义答:计算机图形学是研究在计算机中输入、表示、处理和显示图形的原理、方法及硬件设备的学科。

几何计算专门研究几何图形信息(曲面和三维实体)的计算机表示、分析、修改和综合2.图形本质上是有线形、宽度、颜色等属性信息的图形元素的组合。

因此,抽象的图形的本质可以概括为:图形=图元+属性。

几何计算是计算机图形学的基础。

图形学表示、生成和处理是建模-变换-像素点的几何位置决定的过程,属于几何或者3D问题;显示应该是对客观世界的机内表示的再现,是决定屏幕点的显示属性(可见性和颜色:色调、色饱和度、亮度)属于图像或者2D问题。

计算机图形学所研究的图形是从客观世界物体中抽象出来的带有颜色及其形状信息的图和形3.计算机图形学主要研究两个问题:一是如何在计算机中构造一个客观世界——几何(模型)的描述、创建和处理,以“几何”一词统一表述之;二是如何将计算机中的虚拟世界用最形象的方式静态或者动态的展示出来——几何的视觉再现,以“绘制”一词统一描述之。

因此可以说:计算机图形学=几何+绘制。

几何是表示,是输入。

绘制是展现,是输出。

4.计算机图形学、图像处理、计算几何之间的关系。

答:计算机图形学的主要目的是由数学模型生成的真实感图形,其结果本身就是数字图像;而图像处理的一个主要目的是由数字图像建立数字模型,这说明了图形学和图像处理之间相互密切的关系。

计算机几何定义为形状信息的计算机表示、分析与综合。

随着计算机图形学及其应用的不断发展,计算机图形学、图像处理和计算几何等与图相关的学科越来越融合,且与应用领域的学科相结合,产生了诸如可视化、仿真和虚拟现实等新兴学科。

5.一个三维场景视觉实现的基本工作过程根据假定的光照条件和景物外观因素,依据该光照模型,模拟光能在场景中的传播和分布(包括光线在不同物体间的吸收、反射、折射和散射等过程),计算得到画面上每一点的光强和色彩值后,根据视觉特点转换成适合于显示设备的颜色值,得到画面上每一个像素的属性。

这是一个光强与色彩的量化、纹理映射、图像合成、帧缓存等一些基于物理、光学、色彩理论和技术的复杂计算过程6.计算机图形学开篇之作及其相关信息。

答:1963年MIT的Ivan E. Sutherland在他的博士论文“Sketchpad:一个人-机通信的图形系统”中首次提出“Computer Graphics (计算机图形学)”,使用阴极射线管显示器和光笔,可交互式地生成简单图形。

他本人被称为计算机图形学之父7.计算机图形学的相关应用领域的术语定义及其英文名称和缩略语答:图形用户界面(GUI)计算机辅助设计与制造(CAD/CAM)科学计算可视化(visualization in scientific computing)地理信息系统(GIS)娱乐计算机艺术虚拟现实(VR)逆向工程(reverse engineering)8.图形输入设备逻辑分类和输出设备的分类答:图形输入设备从逻辑上分为6种功能,即定位(locator)、笔画(stroke)、数值(valuator)、选择(choice)、拾取(pick)及字符串(string);图形的输出设备主要有显示器、打印机和绘图仪两种。

9.图形显示设备的相关术语:像素、分辩率、点距等等。

答:电子枪发射电子束,经过聚焦在偏转系统控制下电子束轰击荧光屏,在荧光屏上产生足够小的光点,光点称为像素(pixel)。

阴极射线管在水平和垂直方向单位长度上能识别的最大光点数称为分辨率。

点距一般是指显示屏相邻两个像素点之间的距离。

10.CRT显示设备的主要组成部件及其工作原理。

答:CRT显示设备主要由电子枪、聚焦系统、加速电极、偏转系统和荧光屏五部分组成。

其工作原理是:高速的电子束由电子枪发出,经过聚焦系统、加速系统和磁偏转系统就会到达荧光屏的特定位置。

由于荧光物质在高速电子的轰击下会发生电子跃迁,即电子吸收到能量从低能态变为高能态。

由于高能态很不稳定,在很短的时间内荧光物质的电子会从高能态重新回到低能态,这时将发出荧光,屏幕上的那一点就会亮了。

11.CRT产生彩色的基本途径。

答:CRT产生的色彩是发出不同颜色的荧光物质进行组合而得到的,每个像素由三个荧光点组成,这三个荧光点分别为发红、绿和蓝色光的三种荧光物质,有三支电子枪分别与这三个荧光点相对应。

因为荧光点非常小而且充分靠近,所以我们看到的是具有它们混合颜色的一个光点。

通过调节电子枪发出的电子束中所含电子的多少,可以控制击中的相应荧光点的亮度,因此以不同的强度击中荧光点,就能够在像素点上生成极其丰富的颜色。

12.显示缓冲显示器和分辨率的关系及其大小的计算。

答:显示器缓存=分辨率×颜色比特数13.CRT真彩色和伪彩色的颜色大小及其应用环境。

答:真彩色是16兆种颜色,伪彩色有256色。

真彩是指windows正常显示,伪彩一般在安全模式14.LCD显示器的工作原理。

答:LCD显示器的工作原理是利用液晶的物理特性,通电时导通,晶体在电场作用下,排列变得有秩序,通过它的光的折射角度会发生变化,使光线容易通过;不通电时,晶体排列变得混乱,光被遮挡,不能通过。

15.图形标准实现了哪些可移植性?提供了哪些接口?答:图形标准的制定是为了在不同的计算机系统和外设之间进行图形应用软件的移植。

这种移植性包括应用程序在不同系统之间的可移植性、应用程序与图形设备的无关性、图形数据的可移植性和程序员层次的可移植性。

为了实现这些可移植性,有三个接口必须实现统一标准:○1应用接口○2虚拟图形设备接口○3数据接口。

16.Windows程序的执行模式及流程,为了实现图形的输入和输出Windows采用什么技术?答:在Windows应用程序中,有一个WinMain函数,它是Windows应用程序执行的开始点。

WinMain函数在完成初始化后创建该应用程序的一个窗口,这个窗口被称为“主窗口”。

主窗口创建了窗口函数WndProc,用来接收和处理消息。

用户的所有操作均以消息的形式进入消息队列,应用程序从消息队列中检测和选取消息,并分别处理。

Windows应用程序使用图形设备接口进行图形编程,Windows自动将设备上下文映射到具体的物理设备上实现图形输出。

图形的输入和输出Windows采用GDI技术。

17.五种开发技术的比较18.OpenGL是什么样的图形标准。

OpenGL的主要功能。

答:OpenGL(Open Graphics Library,即开放性图形库)是以SGI的GL三维图形库为基础制定的一个开放式三维图形标准。

OpenGL的主要功能:绘制模型、各种变换、着色模式、光照处理、纹理映射、位图和图像、制作动画、选择和反馈。

此外,OpenGL还提供了反走样技术,能够实现深度暗示(Depth Cue)、运动模糊(Motion Blur)、雾化(Fog)等特殊效果。

19.OpenGL的工作流程和原理。

用C++实现OpenGL编程main函数的主要的语句(GLUT库函数及其调用次序).答:OpenGL指令从左侧进入OpenGL,有两类数据,分别是由顶点描述的几何模型和由像素描述的位图、影像等模型,其中后者经过像素操作后直接进入光栅化。

评价器(Evaluator)用于处理输入的模型数据,为下一步光栅化做好准备。

显示列表(Display List)用于存储一部分指令,留待合适时间以便于快速处理。

光栅化将图元转化成二维操作,并计算结果图像中每个点的颜色和深度等信息,产生一系列图像的帧缓存描述值,其生成结果称为基片(Fragment)。

基片操作主要的有帧缓存的更新、测试、融合和屏蔽操作,以及基片之间的逻辑操作和抖动(Dithering)。

程序:#include <glut.h>void init(void){glClearColor(1.0,1.0,1.0,0.0); //设置图形显示窗口为白色glMatrixMode(GL_PROJECTION); //设置投影参数gluOrtho2D(0.0,200.0,0.0,150.0); //设置投影面的大小}void lineSegment(void){glClear(GL_COLOR_BUFFER_BIT);//刷新显示窗口缓存glColor3f(1.0,0.0,0.0); //设置划线的颜色glBegin(GL_LINES); //指定线的参数glVertex2i(180,15);glVertex2i(10,145);glEnd();glFlush(); //强制机器尽快执行OpenGL函数}int main(int argc,char** argv){glutInit(&argc,argv); //初始化GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//设置显示模式glutInitWindowPosition(50,100); //设置显示窗口的大小和位置glutInitWindowSize(400,300);glutCr eateWindow(“An Example OpenGL Program”);//创建显示窗口init(); //执行初始化过程glutDisplayFunc(lineSegment); //发送OpenGL图形到显示窗口glutMainLoop(); //显示并等待return 0;}20.正确使用OpenGL有关缓存的预定义常量以及相关的语句答:1、颜色缓存函数:(1)清除颜色缓存glClear(GL_COLOR_BUFFER_BIT)(2)设置清除颜色 glClearColor(red,green,blue,alpha)(3)屏蔽颜色缓存 glColorMask()(4)选择颜色缓存 glDrawBuffer()(5)交换颜色缓存 swapBuffer()2、深度缓存:(1) 清除深度缓存 glClear(GL_DEPTH_BUFFER_BIT)(2) 设置清除值 glClearDepth(1.0)(3) 屏蔽深度缓存 glDepthMask(GL_TRUE)(4)启动和关闭深度测试 glEnable(GL_ DEPTH_TEST)(5)确定测试条件 glDepthFunc()(6)确定深度范围 glDepthRange(Glclampd zNear,Glclampd zFar)3、模板缓存4、累积缓存21.常用的直线扫描转换算法有哪些?答:数值微分法(DDA) 、中点画线法和Bresenham算法。

22.DDA和Bresenham算法的基本原理(就是指最后增量公式的推导过程)、算法OpenGL编程实现、手工计算给定端点直线的扫描像素点。

答:DDA算法基本原理是用数值方法解微分方程,通过同时对x和y各增加一个小增量,计算下一步的x、y值。

相关主题