当前位置:文档之家› 计算机图形学题库简答题(1)

计算机图形学题库简答题(1)

二、简答题
0. 给出下列图形学中的英文词汇或缩略语的中文解释:
Viewport;CCW;Projection;Perspective;Ambient;Diffuse;Specular;Attenuation;Texture;Quadric;Cylinder;Matrix;NURBS;Trim;Cull;Normal;Normalize;Dither;Stencil;Stipple;Render;Scissor;Clip;Blend;Raster;DDA;Frustum;Animation。

答:观察;通道命令;投影;透视;环境的;漫反射;镜面反射;衰减;纹理;二次曲面;圆柱体;矩阵;非均匀有理B样条;裁切;废品;正常;正常化;颤振;模板;点画;渲染;剪裁;裁剪;混合;光栅;数字微分分析法;视锥;仿真
1.简述一下三维形体隐藏面消除的深度缓存(Z-buffer)算法的基本过程。

答:通过对场景中物体的Z值或者眼坐标的视点到场景中的点的距离计算得到深度值,通过比较深度值来决定哪个物体在前,从而绘制物体的前面部分。

2. 在有光照的情况下多边形内部象素点颜色的生成有两种方法:Gouraud方法和Phong方法。

请说明这两种方法的优缺点。

OpenGL是否直接支持这两种方法? 答:Gouraud方法计算速度快,只依赖于多边形顶点的颜色,但可能在多边形内部丢失光照效果;Phong方法做出的颜色反射比较平滑,是对颜色连续性的改变,但是计算量比较大,所以速度比较慢。

OPENGL 只支持Gouraud方法。

3使用双缓存渲染有什么好处?在OpenGL下使用双缓存,需要怎么做?
答:可以使观看者看到的是已经完成绘制的图像序列。

在opengl中当图像创建时,设置两个缓存,前缓存的内容用来显示,后缓存用来临时保存处理的结果,完成后,把两个缓存进行交换,后缓存变成了前缓存,就能看到新图像。

4. 在目前流行的显示系统中,存储屏幕的各象素的颜色一般3MB就够了(1024 ×1024×3)。

那么为什么现在的显卡容量动辄512MB甚至1GB?这么大的显存容量有什么用途?
答:显存容量的大小决定着显存临时存储数据的能力,随着显示芯片的处理能力越来越强大,特别是现在的大型3D游戏和专业渲染需要临时存储的数据也越来越多,所需要的显存容量也是越来越大,显存容量在一定程度上也会影响到显卡的性能。

5. 在OpenGL的局部光照模型中,一个光源由哪些参数描述?
答:GL_POSITION、GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR等
6. 在OpenGL的局部光照模型中,形体的材质由哪些参数描述?
答:GL_FRONT、GL_BACK、GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR等
7. 所谓RGBA颜色模型就是每象素用4字节描述,分别对应R、G、B、α。

举例说明这种颜色模型的用途。

答:RGBA通过对透明度的定义和不同层的颜色混合可以呈现出更多的颜色,呈现一种半透明效果,比如:在数码合成中利用RGBA可以快速的进行ALPHA合成。

8. 假设当前景物是若干级台阶,具有相同的纹理。

如果光源设置不当,当我们从台阶上方朝下看时,就会看不出台阶的层次感。

这种情况下,调整光源的什么参数能让我们看出台阶的层次?
答:减弱环境光,凸显形状。

10. 在形体的表示中,为什么我们常采用参数曲线曲面,而不是显式或隐式曲线曲面?
答:因为在计算斜率时用非参数式表示会出现斜率无穷大的情况,造成错误;而且在编程的情况下参数式较容易实现。

11. 要想在MFC下画出一条带有颜色的线段,在调用CDC类的MoveTo()与LineTo() 成员函数之前,应该做什么?
答:先在View中保存颜色的值,接着调用CPen中的函数进行构造画笔。

12. 在人机交互中,有哪几种方法拾取图形元素?
答:利用名称栈来进行选取;利用拾取矩阵来进行选取;利用后颜色缓存进行拾取等等。

13. 什么是参数曲线或曲面的几何不变性?Bezier曲线曲面、B样条曲线曲面、NURBS曲线曲面是否都具有几何不变性?
答:曲线或曲面的形状不随坐标系的改变而改变叫做几何不变性,都具有几何不变性。

15. 在OpenGL下的纹理映射中,纹理坐标一般均取0-1的范围,即如果想把一幅图像贴到一个平面长方形上,一般都是把纹理坐标的(0,0)对应于长方形的左下角点,(1,0)对应于右下角点,(1,1)对应于右上角点,(0,1)对应于左上角点。

但是超过这个范围也是允许的。

如果把纹理坐标的(0,0)对应于长方形的左下角点,(3,0)对应于右下角点,(3,2)对应于右上角点,(0,2)对应于左上角点,这时的贴图效果是什么样的?
答:呈现两行三列该图像,即6个原图缩小呈两行三列进行纹理映射。

16. 如图所示,设三角形ABC是某高度为z方向的地貌表面的一个三角形片,其顶点坐标分别为(x1, y1, z1,),(x2, y2, z2,),(x3, y3, z3,)。

设A’B’C’是其在xOy 平面的
投影。

今有三角形A’B’C’内一点P’,其坐标为(xP, yP),请给出计算P’点所对应
地貌高度zP的方法。

答:过B点向PP’做垂线,交于D点,可以求得B’P’长度即为BD长度,而BP长度可以利用坐标求出,DP长度为Zp减去BB’,正好利用直角三角形可求出Zp 17. 景物的复杂程度取决于顶点的输入个数。

在OpenGL下,有哪些方法可以减少多边形网格的顶点输入个数?
答:顶点重复利用技术
18. OpenGL包含一系列环境变量。

请给出至少4个可以通过glEnable( )函数设置的环境变量。

(只需给出它们的中文意义。

)
答:图形透明设置、颜色混合、深度测试、隐藏图形材料、光照反射到各面等。

19. OpenGL的一些函数是成对的,例如glBegin( )与glEnd( )是一对成对函数。

请给出与下列函数配对的函数名,并说明这对函数的作用:glNewList( );gluBeginCurve( );gluBeginSurface( );gluBeginTrim( )。

答:glEndList()用于创建和替换一个现实列表的函数;
gluEndCurve( )用于绘制曲线
gluEndSurface( )用于绘制非均匀有理B样条的绘制
gluEndTrim()用于曲面裁剪
20. 在OpenGL下如何描述如图所示带孔立方体的上表面?给出两种方法。

答:把图形分割成若干三角形或者利用修剪曲面的方式进行描述(内外的方向必须相反)。

相关主题