期末考试题型如下:
选择题20个(后五道一般是程序填空题) 判断题10个
简答题4个 大题5个
简答题:
1.z-buffer算法的具体步骤(重点):
(1)初始化:把z缓存中各(x,y)单元置为z的最小值,而帧缓存各(x,y)置为背景色。
(2)在把物体表面相应多边形扫描转换成帧缓存中的信息时,对于多边形内的每一采样点(x,y)进行处理:
a.计算采样点(x,y)的深度z(x,y);
b.比较z(x,y)与z缓冲器中已有的值zbuffer(x,y),如果z(x,y)>zbuffer(x,y),那么:
1)计算该像素(x,y)的光亮值属性并写入帧缓冲器;
2)更新z缓冲器 zbuffer(x,y)=z(x,y)。
2.图形学中常见的坐标系有哪些以及对应的作用。
3.斜等测投影和斜二测投影的定义和在生活中的具体例子。
4.种子填充算法的基本思想和试用范围,简单的种子填充算法和扫描线种子填充算大的基本原理。
简述用栈结构实现8-连通边界填充算法的算法步骤。
(1)种子像素入栈。
(2)执行如下三步操作:
1)栈顶像素出栈;
2)将出栈像素置成填充色;
3)检查出栈像素的8-邻接点,若其中某个像素不是边界色且未置成填充色,则把该像素入栈。
(3)检查栈是否为空,若栈非空重复执行步骤(2),若栈为空则结束。
若上面换成4-连通边界填充算法则将8-邻接点换成4-邻接点即可。
5.C-S 编码裁剪算法步骤:
编码规则:
6.画家算法步骤:
算法约定距视点近的优先级高,距视点远的优先级低。生成图像时,优先级低的多边形先画,优先级高的多边形后画。这样,后画的多边形就会将先画的多边形遮挡住,从而达到消隐的效果
7.Phong光照模型的式子以及始终各个标量的含义:
大题:
1.中点画线算法的推导过程,判别式如何得到,判别式的初值如何得到的。、
2.中点画圆算法的推导过程,判别式如何得到,判别式的初值如何得到以及在第一象限把圆分成两个部分,如何确定最大位移方向是x或者y,至关重要。
3.多边形填充算法中基于改进的边表填充算法的计算过程。活动边等等,要会写边表和对 应某一条扫描线的 AET 表。
4.平面图形的几何变换以及三维立体图形的几何变换要求掌握。
尤其是三视图的计算,相对于一点的图形转换以及斜等测斜二测的转换等。
5.C-S编码裁剪算法的计算过程,掌握各个区域的编码并学会画图。
6.Liang裁剪算法的p和u的定义以及如何判断直线是否在可视区域里面的判断条件。
7.第八章明暗度处理模型中 phong 明暗度模型的计算过程,就是双线性法向插值步骤, 三步,每一步的计算公式。
知识点:
1.计算机图形学之父:伊凡·苏泽兰(Ivan E.Sutherland)美国人
2.输入设备:鼠标、键盘、光笔、跟踪球、空间球、操纵杆、触摸屏、数字化仪、数据手 套、Kinect、扫描仪、声频输入系统、视频输入系统。
3.输出设备:显示器、绘图仪、打印机、录像带。
输入输出设备选择题会考,要掌握。
4.图形流水线三个阶段:应用程序阶段、几何处理阶段、像素处理(光栅)阶段。
5.计算帧缓存大小:分辨率×位面数(颜色数)。
6.种子填充算法的基本思想和试用范围,简单的种子填充算法和扫描线种子填充算法的基本原理。
7.多边形包含性测试:
a) 射线法:从点 P 向任意方向发出一条射线,若该射线与多边形交点的个数为奇数, 则 P 位于多边形内;若为偶数,则 P 位于多边形外部。
当 P 点发出的射线正好通过多边形的某顶点时,这时要分两种情况:
8.走样与反走样:
a) 走样:用离散量表示连续量引起的失真现象,就叫做走样(Aliasing)。
10.视区窗口之间的变换:
11. 斜投影的相关:
13.消隐算法按照空间分类
15.光照模型:
16.明暗度处理模型:
请根据以下程序(1)~(5)处需要补充的内容,选择下面第 3 ~ 7 题的答案。
//绘制三角形
void DrawTriangle(void)
{
(1)glBegin(GL_TRIANGLES)
;
glVertex2f(0.0f, 0.0f);
glVertex2f(40.0f, 0.0f);
glVertex2f(20.0f, 40.0f);
glEnd();
}
//画出先沿 x 轴正向平移 10、y 轴负向平移 10、再 xyz 分别缩放 1.5、2.0、1.0 倍的蓝色三角
形
void Display(void)
{
glClear(GL_COLOR_BUFFER_BIT );
(2)glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
(3)glScalef(1.5f, 2.0f, 1.0f);
(4)glTranslatef(10.0f, -10.0f, 0.0f);(正确答案)(5)glColor3f(0.0f, 0.0f, 1.0f);
DrawTriangle();
glFlush();
}
3. (2 分)(1)处需要补充的代码为: [单选题] *
A)glBegin(GL_TRIANGLES);(正确答案)
B)glBegin(GL_POINTS);
4. (2 分)(2)处需要补充的代码为: [单选题] *
A)glMatrixMode(GL_PROJECTION);
B)glMatrixMode(GL_MODELVIEW);(正确答案)
5. (2 分)(3)处需要补充的代码为: [单选题] *
A)glScalef(1.5f, -2.0f, 1.0f);
B)glScalef(1.5f, 2.0f, 1.0f);(正确答案)
6. (2 分)(4)处需要补充的代码为: [单选题] *
A)glTranslatef(10.0f, -10.0f, 0.0f);(正确答案)
B)glTranslatef(10.0f, 10.0f, 0.0f);
7. (2 分)(5)处需要补充的代码为: [单选题] *
A)glColor3f(0.0f, 0.0f, 1.0f);(正确答案)
B)glColor3f(0.0f, 1.0f, 1.0f);
细节的地方还需要大家多读书,这只是根据往年卷子做出的总结。