计算机图形学 复习题.docx
《计算机图形学 复习题.docx》由会员分享,可在线阅读,更多相关《计算机图形学 复习题.docx(16页珍藏版)》请在冰豆网上搜索。
![计算机图形学 复习题.docx](https://file1.bdocx.com/fileroot1/2023-2/6/43c5aa13-c37c-44a4-b59d-3f0254cf2459/43c5aa13-c37c-44a4-b59d-3f0254cf24591.gif)
计算机图形学复习题
计算机图形学复习题
一、名词解释
1、齐次坐标系
2、光顺性
3、种子填充算法
4、镜面反射光
5、投影变换
6、光线跟踪
7、复合变换
8、走样
9、几何造型技术
10、虚拟现实
二、简答题
1、前截面距离F和后截面距离B定义了什么?
2、计算机动画的制作主要步骤
3、计算机图形显示器和绘图设备表示颜色的方法各是什么颜色系统?
它们之间的关系如何?
4、图形软件主语言的选择应考虑哪些因素?
5、制定CGI,CGM,IGES标准的目的分别是什么?
6、自由曲面的表示通常有哪两种?
7、什么叫做走样?
什么叫做反走样?
反走样技术包括那些?
8、简述区域连贯性、扫描线的连贯性以及边的连贯性。
9、简述Bezier曲线的不足之处。
10、建立图形软件可采用哪三种方法?
11、在观察空间中,如何确定投影的类型和方向?
12、简述编码裁剪法(即Cohen—Sutherland线段裁剪法)的算法过程。
三、应用题
1、分析边标志算法的实现过程,并写出其算法的C语言描述.
2、简述深度缓存算法及其特点。
3、假设在观察坐标系下窗口区的左下角坐标为(wxl=10,wyb=10),右上角坐标为(wxr=50,wyt=50)。
设备坐标系中视区的左下角坐标为(vxl=10,vyb=30),
右上角坐标为(vxr=50,vyt=90)。
已知在窗口内有一点p(20,30),要将点p映射
到视区内的点p`,请问p`点在设备坐标系中的坐标是多少?
(本题10分)
4、如下表是采用DDA算法画出(0,0)到(5,2)的直线的数据,请填写空格处。
i
xi
yi
yi+0.5
int(yi+0.5)
1
0
0
0.5
0
2
1
3
2
4
3
5
4
6
5
2
2。
5
2
5、已知三角形ABC各顶点的坐标A(1,2)、B(5,2)、C(3,5),相对直线Y=4做对称变换后到达A’、B’、C’。
试计算A’、B’、C'的坐标值。
(要求用齐次坐标进行变换,列出变换矩阵)
6、试对下图中的多边形进行裁剪,用图表示裁剪过程。
7、计算机图形系统包含哪些外部设备?
8、简述消隐算法的分类。
9、设窗口左下角点坐标为(XW1,YW1),宽为LW,高为HW,视区左下角点坐标为(XV1,YV1),宽为LV,高为HV,已知窗口中有一点A(XA,YA),在视区中对应的坐标为A’(X’A,Y'A)。
试计算A'的坐标值。
(要求用齐次坐标进行变换,列出变换矩阵,列出计算式子,不要求计算结果)
10、采用扫描线算法对多边形进行填充,请写出EL、AEL的结构,并分析扫描线算法的步骤和处理扫描线的步骤。
11、种子点填充算法如下:
●初始化:
种子像素入栈,当栈非空时,重复2~4的步骤
●栈顶像素出栈
●将出栈像素置为多边形颜色
●按右、上、左、下顺序依次检查与
●出栈像素相邻的四个像素,若其中某个像素不在边界上且未置成多边形色,则该像素入栈
●当堆栈为空时,算法终止
试填写堆栈的变化过程
复习题参考答案
一、名词解释
1、齐次坐标系
就是N维向量由N+1维向量来表示。
一个N维向量的齐次坐标表示不惟一,由哑坐标决定大小。
2、光顺性
有两条含义:
一是指曲线的切矢量和曲率的连续性;另一条是指保凸性。
3、种子填充算法
根据已知多边形区域内部的一个象素点来找到区域内其它象素点,从而对多边形区域内部进行填充。
4、镜面反射光
一个理想的光泽表面,仅仅在反射角等于入射角时,光线才会被反射.只有在反射方向上,观察者才能看到从镜面反射出来的光线,而在其它方向都看不到反射光。
5、投影变换
就是把三维立体(或物体)投射到投影面上得到二维平面图形。
6、光线跟踪
光线跟踪是自然界光照明物理过程的近似逆过程,即逆向跟踪从光源发出的光经环境景物间的多次反射、折射后投射到景物表面,最终进入人眼的过程
7、复合变换
图形作一次以上的几何变换,变换结果是每次的变换矩阵相乘;任何一复杂的几何变换都可以看作基本几何变换的组合形式。
8、走样
在光栅显示设备上,由于象素点和象素点之间是离散的,因此用象素点阵组合出的图形,与真实景物之间必然存在一定的误差。
比如,直线或曲线往往呈现锯齿状,细小物体在图上显示不出来等.这种现象就是图形的走样
9、几何造型技术
研究如何构造直线段、多边形、多面体、多项式曲线、自由曲面等几何模型的理论、方法和技术称为几何造型技术。
10、虚拟现实
虚拟现实是指用计算机技术来生成一个逼真的三维视觉、听觉、触觉或嗅觉等感觉世界,让用户可以从自己的视点出发,利用自然的技能和某些设备对这一生成的虚拟世界客体进行浏览和交互考察。
二、简答题
1、前截面距离F和后截面距离B定义了什么?
前截面距离F和后截面距离B分别是从观察参考点VPR沿观察平面法向VPN到前截面和后截面的距离,前截面和后截面将无限的观察空间截成有限的观察空间,即裁剪空间。
2、计算机动画的制作主要步骤
计算机动画的制作主要包含如下步骤:
1)创意.根据设计的需要,由导演设计好动画制作的脚本.
2)预处理。
扫描外部图像,输入外部资料。
3)场景造型。
4)设定材质和光源。
5)设置动画。
6)运动图像的绘制。
7)动画播放。
8)后处理
9)动画的录制。
10)配音(包括背景音乐和台词)
3、计算机图形显示器和绘图设备表示颜色的方法各是什么颜色系统?
它们之间的关系如何?
计算机图形显示器是用RGB方法表示颜色,而绘图设备是用CMY方法来表示颜色的。
它们之间的关系是:
两者都是面向硬件的颜色系统,前者是增性原色系统,后者是减性原色系统,后者是通过在黑色里加入一种什么颜色来定义一种颜色,而后者是通过指定从白色里减去一种什么颜色来定义一种颜色
4、图形软件主语言的选择应考虑哪些因素?
(1)图形处理系统主要应用于工程技术领域,因此应该选择在这些领域中较为通用的高级语言;
(2)图形软件包是模块结构,因此最好选择模块化结构的高级语言;
(3)图形处理的应用范围很广,需要各方面的软件支持,因此要选择支持性软件(如数学软件包、数据库管理等)比较丰富的高级语言;
(4)图形处理常常要采用相当复杂的数据结构,因此要选择数据类型比较灵活和丰富的高级语言;
(5)图形处理要和许多图形外部设备打交道,因此要选择输入输出功能比较强的高级语言;
(6)图形处理要求响应速度快,因此又要选择目标程序质量比较高的高级语言。
5、制定CGI,CGM,IGES标准的目的分别是什么?
制定CGI标准的目的是提供控制图形硬件的一种与设备无关的方法.在用户程序和虚拟设备之间,以一种独立于设备的方式提供图形信息的描述和通信。
它可看作图形设备驱动程序的一种标准。
制定CGM标准的目的是规定生成、存储、传送图形信息的通用格式。
制定IGES标准的目的是为了解决在不同图形系统间进行数据传送的问题.
6、自由曲面的表示通常有哪两种?
自由曲面的表示通常有两种:
一种为参数曲面,如Bezier曲面、B样条曲面、NURBS曲面等;另一种为隐式曲面.
7、什么叫做走样?
什么叫做反走样?
反走样技术包括那些?
答:
走样指的是用离散量表示连续量引起的失真.
为了提高图形的显示质量。
需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或消除这种效果的方法称为反走样.
其方法是①前滤波,以较高的分辨率显示对象;②后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性.
8、简述区域连贯性、扫描线的连贯性以及边的连贯性。
答:
区域连贯性:
对于一个多边形及两条扫描线,会有如下情况:
两条扫描线之间的长形区域被多边形的边分割成若干个梯形,位于多边形内部和外部的梯形相间排列。
扫描线的连贯性:
多边形与扫描线相交,其交点数为偶数,相邻两交点间的线段有些位于多边形内,有些位于多边形外,且两者间隔排列。
边的连贯性:
相邻两条扫描线与多边形的的同一条边相交,其交点可按递增一个常量来计算,如:
x2=x1+1,则y2=y1+1/k(k为该多边形边的斜率).
9、简述Bezier曲线的不足之处。
答:
当Bezier曲线的n次多项式逼近方法中当n较大时,计算量也就迅速增大,而且计算结果也不稳定。
同时,其特征多边形的顶点离开得很远,造型时不利于精确控制。
若是采用插值形式,除了计算量更加庞大以外,曲线的保形性也难以保证。
10、建立图形软件可采用哪三种方法?
(1)图形程序包
(2)修改高级语言
(3)专用高级图形语言
11、在观察空间中,如何确定投影的类型和方向?
投影类型由参数pt可以确定,如果是透视投影,则投影中心就是投影参考点PRP;如果是平行投影,投影方向是从投影参考点PRP指向窗口中心CW。
其中,投影参考点PRP是观察坐标系中的三维点。
12、简述编码裁剪法(即Cohen—Sutherland线段裁剪法)的算法过程。
由DanCohen和IvanSutherland提出的区域编码判断方法,采用四位数码来标识线段的端点与窗口区域的关系,然后:
(1)检查线段P1P2是否为完全可见,或完全不可见,对于这两种情况或完全取之,或完全弃之,否则“2”。
(2)找到P1P2在窗口外的一个端点P1(或P2);
(3)用窗口的边与P1P2的交点取代端点P1(或P2);
(4)P1P2线段是否完全可见,若是,则结束,否则转到“2“继续执行.
三、应用题
1、分析边标志算法的实现过程,并写出其算法的C语言描述。
答:
边标志算法可以克服象素被重复访问这一缺点。
其实现过程分为两步:
1)勾画轮廓线,在每条扫描线上建立各区段的边界象素对;2)填充这些边界象素之间的全部象素。
算法的C语言描述如下:
#defineFALSE0
edgefill(Polydef)
{
对多边形每条边转换;
inside=FALSE;
for(每条与多边形Polydef相交的扫描线)
for(扫描线上每个象素点)
{if(象素点被打上边标志)inside=!
(inside);
if(inside!
=FALSE)putpixel(x,y,color);
elseputpixel(x,y,bcolor);
}
}
2、简述深度缓存算法及其特点。
答:
深度缓存算法是一种典型的、也是最简单的图象空间的消隐算法。
在屏幕空间坐标系中,
轴为观察方向,通过比较平行于
轴的射线与物体表面交点的
值(又称为深度值),用深度缓存数组记录下最小的
值,并将对应点的颜色存入显示器的帧缓存。
深度缓存算法最大的优点是简单.它在
、
、
方向上都没有进行任何排序,也没有利用任何相关性.算法复杂性正比于
。
在屏幕大小,即
一定的情况下,算法的计算量只与多边形个数
成正比。
另一个优点是算法便于硬件实现,并可以并行化。
3、假设在观察坐标系下窗口区的左下角坐标为(wxl=10,wyb=10),右上角坐标为(wxr=50,wyt=50)。
设备坐标系中视区的左下角坐标为(vxl=10,vyb=30),
右上角坐标为(vxr=50,vyt=90).已知在窗口内有一点p(20,30),要将点p映射
到视区内的点p`,请问p`点在设备坐标系中的坐标是多少?
(本题10分)
解:
将窗口左下角点(10,10)平移至观察坐标系的坐标原点,平移矢量为(—10,-10)。
针对坐标原点进行比例变换,使窗口的大小和视区相等。
比例因子为:
Sx=(50—10)/(50-10)=1;Sy=(90—30)/(50—10)=1.5。
将窗口内的点映射到设备坐标系的视区中,再进行反平移,将视区的左下角点移回到设备坐标系中原来的位置(10,30),平移矢量为(10,30)。
p`点在设备坐标系中的坐标是(20,60)。
4、如下表是采用DDA算法画出(0,0)到(5,2)的直线的数据,请填写空格处。
i
xi
yi
yi+0。
5
int(yi+0。
5)
1
0
0
0。
5
0
2
1
3
2
4
3
5
4
6
5
2
2.5
2
解:
i
xi
yi
yi+0.5
int(yi+0.5)
1
0
0
0。
5
0
2
1
0。
4
0.9
0
3
2
0。
8
1.3
1
4
3
1.2
1。
7
1
5
4
1.6
2。
1
2
6
5
2
2.5
2
5、已知三角形ABC各顶点的坐标A(1,2)、B(5,2)、C(3,5),相对直线Y=4做对称变换后到达A’、B’、C’。
试计算A’、B'、C’的坐标值.(要求用齐次坐标进行变换,列出变换矩阵)
解:
(1)将坐标系平移至P1(0,4)点
(2)以X轴对称
(3)将坐标系平移回原处
(4)变换矩阵:
T=TA*TB*TC=
(5)求变换后的三角形ABC各顶点的坐标A’、B’、C’
A’:
XA’=1,YA'=6
B’:
XB'=5,YB'=6
C’:
XA’=3,YA'=3
6、试对下图中的多边形进行裁剪,用图表示裁剪过程。
依次用窗口的左、上、右、下四条边界进行裁剪:
7、计算机图形系统包含哪些外部设备?
图形输入设备:
概念、特点
图形显示设备:
概念、结构原理、工作方式、特点
图形绘制设备:
概念、特点
8、简述消隐算法的分类。
答:
1.物体空间的消隐算法:
物体空间是物体所在的空间,即规范化投影空间。
这类算法是将物体表面上的
个多边形中的每一个面与其余的
个面进行比较,精确求出物体上每条边或每个面的遮挡关系。
计算量正比于
。
2.图象空间的消隐算法:
图象空间就是屏幕坐标空间,这类算法对屏幕的每一象素进行判断,以决定物体上哪个多边形在该象素点上是可见的.若屏幕上有
个象素点,物体表面上有
个多边形,在该类消隐算法计算量正比于
.
9、设窗口左下角点坐标为(XW1,YW1),宽为LW,高为HW,视区左下角点坐标为(XV1,YV1),宽为LV,高为HV,已知窗口中有一点A(XA,YA),在视区中对应的坐标为A'(X’A,Y’A)。
试计算A'的坐标值。
(要求用齐次坐标进行变换,列出变换矩阵,列出计算式子,不要求计算结果)
解:
1)将坐标系平移至(XW1,YW1)点:
2)作比例变换:
3)将坐标系平移至视区左下角(XV1,YV1):
4)旋转视区θ度:
5)变换矩阵为:
T=TA*TB*TC*TD
6)求变换后的Aˊ点:
10、采用扫描线算法对多边形进行填充,请写出EL、AEL的结构,并分析扫描线算法的步骤和处理扫描线的步骤.
答:
活化边AET:
指与当前扫描线相交的多边形的边,也称为活性边.
YmaxX△X(即1/k)
边的分类表ET:
把有效边按与扫描线交点x坐标递增的顺序存放在一个链表中,此链表称为有效边表。
有效边表的每个结点:
YmaxX1/knext
算法步骤:
(1)确定多边形所占有的最大扫描线数,得到多边形顶点的最小和最大y值(ymin和ymax).
(2)从y=ymin到y=ymax,每次用一条扫描线进行填充。
(3)对一条扫描线填充的过程可分为四个步骤:
a。
求交
b.排序
c.交点配对
d.区间填色
11、
解:
堆栈变化过程如下:
1(2,3)
2(2,2),(3,3),(2,4),(1,3)
3(2,2),(3,3),(2,4),(1,2)(1,4)
4(2,2),(3,3),(2,4),(1,2)
5(2,2),(3,3),(2,4),(2,2)
6(2,2),(3,3),(2,4),(2,1),(3,2)
7(2,2),(3,3),(2,4),(2,1),(3,3,)
8(2,2),(3,3),(2,4),(2,1)
9(2,2),(3,3),(2,4)
10(2,2),(3,3)
11(2,2)