计算机图形学复习题及其解答.docx

上传人:b****6 文档编号:3642410 上传时间:2022-11-24 格式:DOCX 页数:30 大小:230.15KB
下载 相关 举报
计算机图形学复习题及其解答.docx_第1页
第1页 / 共30页
计算机图形学复习题及其解答.docx_第2页
第2页 / 共30页
计算机图形学复习题及其解答.docx_第3页
第3页 / 共30页
计算机图形学复习题及其解答.docx_第4页
第4页 / 共30页
计算机图形学复习题及其解答.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

计算机图形学复习题及其解答.docx

《计算机图形学复习题及其解答.docx》由会员分享,可在线阅读,更多相关《计算机图形学复习题及其解答.docx(30页珍藏版)》请在冰豆网上搜索。

计算机图形学复习题及其解答.docx

计算机图形学复习题及其解答

1.计算机图形学的定义

答:

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

几何计算专门研究几何图形信息(曲面和三维实体)的计算机表示、分析、修改和综合

2.图形本质上是有线形、宽度、颜色等属性信息的图形元素的组合。

因此,抽象的图形的本质可以概括为:

图形=图元+属性。

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

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

色调、色饱和度、亮度)属于图像或者2D问题。

计算机图形学所研究的图形是从客观世界物体中抽象出来的带有颜色及其形状信息的图和形

3.计算机图形学主要研究两个问题:

一是如何在计算机中构造一个客观世界——几何(模型)的描述、创建和处理,以“几何”一词统一表述之;二是如何将计算机中的虚拟世界用最形象的方式静态或者动态的展示出来——几何的视觉再现,以“绘制”一词统一描述之。

因此可以说:

计算机图形学=几何+绘制。

几何是表示,是输入。

绘制是展现,是输出。

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

答:

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

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

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

5.一个三维场景视觉实现的基本工作过程

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

这是一个光强与色彩的量化、纹理映射、图像合成、帧缓存等一些基于物理、光学、色彩理论和技术的复杂计算过程

6.计算机图形学开篇之作及其相关信息。

答:

1963年MIT的IvanE.Sutherland在他的博士论文“Sketchpad:

一个人-机通信的图形系统”中首次提出“ComputerGraphics(计算机图形学)”,使用阴极射线管显示器和光笔,可交互式地生成简单图形。

他本人被称为计算机图形学之父

7.计算机图形学的相关应用领域的术语定义及其英文名称和缩略语答:

图形用户界面(GUI)

计算机辅助设计与制造(CAD/CAM)

科学计算可视化(visualizationinscientificcomputing)

地理信息系统(GIS)

娱乐

计算机艺术

虚拟现实(VR)

逆向工程(reverseengineering)

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.图形标准实现了哪些可移植性?

提供了哪些接口?

答:

图形标准的制定是为了在不同的计算机系统和外设之间进行图形应用软件的移植。

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

为了实现这些可移植性,有三个接口必须实现统一标准:

应用接口

虚拟图形设备接口

数据接口。

16.Windows程序的执行模式及流程,为了实现图形的输入和输出Windows采用什么技术?

答:

在Windows应用程序中,有一个WinMain函数,它是Windows应用程序执行的开始点。

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

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

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

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

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

17.五种开发技术的比较

技术

实现层次

语言及其难易程度

扩展性

应用领域

OpenGL

底层(显卡)

C/C++(难)

厂商全面支持(好)

三维设计软件

ACIS

底层(操作系统)

C++(难)

Windows平台(较好)

三维造型和显示

DirectX

底层(操作系统)

C++(难)

Windows平台(差)

三维游戏

Java3D

中间层(JVM)

Java(较易)

JavaSE标准扩展(好)

网上三维显示实现

VRML

高层(网页)

标记语言(容易)

安装插件支持(一般)

网上虚拟实现

18.OpenGL是什么样的图形标准。

OpenGL的主要功能。

答:

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

OpenGL的主要功能:

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

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

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

用C++实现OpenGL编程main函数的主要的语句(GLUT库函数及其调用次序).

答:

OpenGL指令从左侧进入OpenGL,有两类数据,分别是由顶点描述的几何模型和由像素描述的位图、影像等模型,其中后者经过像素操作后直接进入光栅化。

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

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

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

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

程序:

#include

voidinit(void)

{

glClearColor(1.0,1.0,1.0,0.0);//设置图形显示窗口为白色

glMatrixMode(GL_PROJECTION);//设置投影参数

gluOrtho2D(0.0,200.0,0.0,150.0);//设置投影面的大小

}

voidlineSegment(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函数

}

intmain(intargc,char**argv)

{

glutInit(&argc,argv);//初始化GLUT

glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);//设置显示模式

glutInitWindowPosition(50,100);//设置显示窗口的大小和位置

glutInitWindowSize(400,300);

glutCreateWindow(“AnExampleOpenGLProgram”);//创建显示窗口

init();//执行初始化过程

glutDisplayFunc(lineSegment);//发送OpenGL图形到显示窗口

glutMainLoop();//显示并等待

return0;

}

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(GlclampdzNear,GlclampdzFar)

3、模板缓存

4、累积缓存

21.常用的直线扫描转换算法有哪些?

答:

数值微分法(DDA)、中点画线法和Bresenham算法。

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

答:

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

Bresenham算法的基本原理是借助于一个误差量(直线与当前实际绘制像素点的距离),来确定下一个像素点的位置。

算法的巧妙之处在于采用增量计算,使得对于每一列,只要检查误差量的符号,就可以确定该下一列的像素位置。

23.中点画圆算法OpenGL编程实现(八分之一圆、完整圆)。

八分之一圆程序:

MidPointCircle(intr,intcolor)

{

intx,y;

inte;

x=0;y=r;e=1-r;

circlepoints(x,y,color);//做对称处理

while(x<=y)

{

if(e<0)

e+=2*x+3;

else

{

e+=2*(x-y)+5;

y--;

}

x++;

circlepoints(x,y,color);//做对称处理

}

}

24.图形的边界处理原则。

多边形两种表示方法及其特点。

答:

原则:

左闭右开,上闭下开。

两种重要的表示方法:

顶点表示和点阵表示。

所谓顶点表示,即是用多边形的顶点序列来表示多边形。

这种表示直观、几何意义强、占内存少,易于进行几何变换,但由于它没有明确指出哪些像素在多边形内,故不能直接用于区域填充。

所谓点阵表示,则是用位于多边形内的像素集合来刻画多边形。

这种表示丢失了许多几何信息,但便于进行填充。

25.扫描线多边形区域填充算法的原则。

答:

待填充区域按Y方向(X方向亦可)扫描线顺序扫描生成。

26.有序边表扫描线算法实现步骤。

边界标记算法的基本思想和伪代码描述。

答:

有序边表扫描线算法实现步骤

(1)求交:

计算扫描线与多边形各边的交点;

(2)排序:

把所有交点按x值递增顺序排序;

(3)配对:

第一个与第二个,第三个与第四个等等;每对交点代表扫描线与多边形的一个相交区间;

(4)填色:

把相交区间内的像素置成多边形颜色,把相交区间外的像素置成背景色。

边界标记算法的基本思想:

帧缓冲器中对多边形的每条边进行直线扫描转换,亦即对多边形边界所经过的象素打上标志。

然后再采用和扫描线算法类似的方法将位于多边形内的各个区段着上所需颜色。

使用一个布尔量inside来指示当前点是否在多边形内的状态。

伪代码:

voidedgemark_fill(polydef,color)

多边形定义polydef;intcolor;

{对多边形polydef每条边进行直线扫描转换;

inside=FALSE;

for(每条与多边形polydef相交的扫描线y)

for(扫描线上每个象素x)

{if(象素x被打上边标志)

inside=!

(inside);

if(inside!

=FALSE)

drawpixel(x,y,color);

elsedrawpixel(x,y,background);

}

}

 

27.四种子和八种子填充算法以及边界填充算法的程序实现。

内点表示的四种子填充算法程序:

voidFloodFill4(intx,inty,intoldcolor,intnewcolor)

{

if(GetPixel(x,y)==oldcolor)

{

SetPixel(x,y,newcolor);

FloodFill4(x,y+1,oldcolor,newcolor);

FloodFill4(x,y-1,oldcolor,newcolor);

FloodFill4(x-1,y,oldcolor,newcolor);

FloodFill4(x+1,y,oldcolor,newcolor);

}

}

边界表示的四种子填充算法程序:

voidBoundaryFill4(intx,inty,intboundarycolor,intnewcolor)

{

intcolor;

if(color!

=newcolor&&color!

=boundarycolor)

{

SetPixel(x,y,newcolor);

BoundaryFill4(x,y+1,boundarycolor,newcolor);

BoundaryFill4(x,y-1,boundarycolor,newcolor);

BoundaryFill4(x-1,y,boundarycolor,newcolor);

BoundaryFill4(x+1,y,boundarycolor,newcolor);

}

}

 

28.VC++框架的绘图的函数:

OnDraw的使用。

答:

例:

画出一个半径为5像素的圆并以黑色填充之,得到一个比较大的点:

voidCDrowDotView:

:

OnDraw(CDC*pDC)

{

pDC->SelectStockObject(BLACK_BRUSH);//画出的点为黑色

pDC->Ellipse(CRect(5,10,10,15));//画一个小圆

}

例:

画一条从(5,5)到(50,50)的直线,则程序代码如下:

voidCDrawLineView:

:

OnDraw(CDC*pDC)

{

pDC->MoveTo(5,5);

pDC->LineTo(50,50);

}

29.掌握OpenGL画点和画直线的代码。

画点:

glBegin(GL_POINTS);

glVertex2f(0.0,0.0);

glVertex2f(0.0,3.0);  

glVertex2f(3.0,3.0);                          

glVertex2f(4.0,1.5);

glVertex2f(3.0,0.0);

glEnd();

画直线:

glBegin(GL_LINES);

glVertex2f(0.5f,0.5f);

glVertex2f(-0.5f,0.0f);

glVertex2f(-0.5f,0.5f);

glVertex2f(0.0f,-0.5f);

glEnd();

30.图形变换的分类(三类)。

齐次坐标及其优点。

答:

几何变换、坐标变换、显示变换

所谓齐次坐标表示就是用n+1维向量表示n维向量。

优点:

一方面可以表示无穷远点;另一方面容易用矩阵与矢量乘的方法表示点的平移操作,以便简化计算过程。

31.

二维图形的齐次坐标矩阵变换矩阵各分量的含义。

答:

[a1,a1,……c3]可以旋转,错切;

[d1,d2,d3]可以平移变换;

[p,q,r]可以透视变换;

S可以比例变换;

32.掌握二维图形的平移、对称、旋转、缩放变换的矩阵形式。

答:

二维图形各种基本变换的变换矩阵及图示如表4-1所示。

表4-1

变换类型

变换矩阵

矩阵元素的说明

变换图示

平移变换

m,n分别是在X轴,Y轴上的平移量

比例变换

分别是X,Y向的比例系数

对称变化

 

以X轴对称

以Y轴对称

以坐标原点对称

以45º直线对称

以-45º直线对称

旋转变换

是旋转角,逆时针旋转取正值,反之取负值

33.三维图形的显示流程,窗口区和视图区的坐标变换。

对窗口剪裁

窗口到视区变换

显示

几何变换

投影变换

变换过程:

(1)将窗口左下角点(WXL,WYB)平移到窗口所在坐标系的原点;

(2)进行缩放变换,使窗口的大小与视区相等;

(3)将窗口内的点映射到视区中,再进行反平移,将视区的左下角移回到原来的位置。

34.平面几何的投影分类标准及分类。

答:

分类标准即投影方式。

可分为平行投影和透视投影。

35.什么是裁剪?

常用的直线裁剪和多边形裁剪算法有哪些?

区域编码及其应用

答:

确定图形中哪些部分落在显示区之内,哪些落在显示区之外,以便只显示落在显示区内的那部分图形。

这个选择过程称为裁剪。

常用的直线裁剪算法有:

Cohen_Sutherland算法和Liang_Barsky算法。

多边形裁剪算法有:

Sutherland_Hodgman算法和Weiler_Atherton算法。

区域编码:

1001

1000

1010

0001

0000

0010

0101

0100

0110

 

36.正确使用OpenGL有关几何变换、投影变换以及视图变换的预定义常量、函数及其参数。

答:

几何变换:

1)平移平移变换函数:

voidglTranslate{fd}(TYPEx,TYPEy,TYPEz)

三个函数参数就是目标分别沿三个轴向平移的偏移量。

2)旋转旋转变换函数:

voidglRotate{fd}(TYPEangle,TYPEx,TYPEy,TYPEz)

函数中第一个参数是表示目标沿从点(x,y,z)到原点的方向逆时针旋转的角度,后三个参数是旋转的方向点坐标。

3)缩放和反射变换函数如下:

voidglScale{fd}(TYPEx,TYPEy,TYPEz)

三个函数参数值就是目标分别沿三个轴向缩放的比例因子。

投影变换:

1)正射投影(OrthographicProjection)2)透视投影ivoidglFrustum(GLdoubleleft,GLdoubleRight,GLdoublebottom,GLdoubletop,

GLdoublenear,GLdoublefar);

iivoidgluPerspective(GLdoublefovy,GLdoubleaspect,GLdoublezNear,GLdoublezFar);

视图变换:

glViewport(GLintx,GLinty,GLsizeiwidth,GLsizeiheight);

37.Windows交互图形设计基本方法。

橡皮筋技术。

图元的选择两种类型。

答:

基本方法:

(1)交互式绘图

(2)坐标输入技术(3)橡皮筋技术

橡皮筋技术可用于交互式绘图以表现用户操作的过程细节。

实现橡皮筋技术主要有两种方法:

基于异或操作的橡皮筋技

术;基于缓冲区的橡皮筋技术;

图元的选择两种类型:

静态选择和动态选择。

38.生成真实感图形的步骤。

答:

构造各个物体的数学描述;

将各个物体安放在给定参考坐标系的三维空间中适当位置处,由此构成场景,并且选择所期望的观察场景的视点、视方向、视域;

给出各个物体的颜色信息;

将各个物体的数学描述和他们相关的颜色信息转化为屏幕上的像素信息。

39.什么是消隐?

消隐的分类。

为什么要消除隐藏线?

答:

通过判别当前观察方向的可见线和可见面,然后只显示可见线与可见面可以消除图形的二义性简称消隐。

分类:

消除隐藏线和消除隐藏面。

隐藏线的产生是因为在给定的观察方向下,某些棱(或棱的一部分)被表面多边形的遮挡成为不可见,因此要消除隐藏线

40.面消隐算法的分类(代表性算法)及每一类消隐算法的伪代码和时间复杂度计算。

答:

物空间算法:

for(场景中的每一个物体)

{

将其与场景中的其它物体比较,确定其表面的可见部分;

显示该物体表面的可见部分;

}

像空间算法

for(窗口内的每一个像素)

{

确定与此像素对应的距离视点最近的物体,

以该物体表面该处的颜色来显示像素;

}

41.提高消隐算法的方法有哪些?

答:

提高消隐算法的方法有:

利用连贯性、包围盒技术、背面剔除、区域分割技术、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1