计算机图形学5套模拟题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组卷规则:每套模拟题5个问答或者计算或者证明题,每题20分。
《计算机图形学基础》模拟试题(1)
1、 简述Cohen-Sutherland 裁剪方法的思想,并指出与之相比,中点裁剪方法的改进之处,及这种改进的理由。
答:Cohen-Sutherland 裁剪算法的思想是:对于每条线段分为三种情况处理。
(1)若完全在窗口内,则显示该线段
简称“取”之。
(2)若
明显在窗口外,则丢弃该线段,
简称“弃”之。
(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则求线段与窗口交点,在交点处把线段分为两段。
其中一段完全在窗口外,可弃之。
然后对另一段重复上述处理。
中点分割算法的大意是,与Cohen-Sutherland 算法一样首先对线段端点进行编码,并把线段与窗口的关系分为三种情况: 全在、完全不在和线段和窗口有交。
对前两种情况,进行同样的处理。
对于第三种情况,用中点分割的方法求出线段与窗口的交点。
即从点出发找出距最近的可见点A 和从点出发找出距最近的可见点B ,两个可见点之间的连线即为线段的可见部分。
从出发找最近可见点采用中点分割方法:先求出
的中点
,
若
不是显然不可见的,并且在窗口中有可见部分,则距最近的可见点一定落在
上,所以用
代替
;否则取
代替。
再对新的
求中点。
重复上
述过程,直到 长度小于给定的控制常数为止,此时收敛于交点。
改进之处在于,对
第三种情况,不直接解方程组求交,而是采用二分法收搜索交点。
这种改进的理由是:计算机屏幕的象素通常为1024×1024,最多十次二分搜索即可倒象素级,必然找到交点。
而且中点法的主要计算过程只用到加法和除2运算,效率高,也适合硬件实现。
2、 在Phong 模型 中,三项分别表示何含义?公式中
的各个符号的含义指什么?
答:三项分别代表环境光、漫反射光和镜面反射光。
为环境光的反射光强, 为理想漫
反射光强,
为物体对环境光的反射系数,
为漫反射系数,
为镜面反射系数, 为
高光指数,L 为光线方向,N 为法线方向,V 为视线方向,R 为光线的反射方向。
3、 针对多面体模型,直接用Phong 模型绘制会有什么问题?简述两种增量式光照明模型(明暗处理)的基本思想,并指出两个算法的主要区别。
答:针对多面体模型,使用Phong模型绘制会在多边形与多边形之交界处产生明暗的不连续变化,影响了曲面的显示效果,即马赫带效应。
如果增加多边形个数,减小每个多边形的面积,当然也能改善显示效果。
但是这样一来,数据结构将迅速膨胀,导致操作的空间与时间上升。
增量式光照模型的基本思想是在每一个多边形的顶点处计算合适的光照明强度或法向量,然后在各个多边形内部进行均匀插值,得到多边形光滑的颜色分布。
它包含两个主要的算法:双线性光强插值和双线性法向插值,又被分别称为Gouraud明暗处理和Phong明暗处理。
两种算法的主要区别为:Gouraud明暗处理采用光强插值,而Phong明暗处理采用法向插值。
4、解释走样和反走样的概念,并给出三种以上反走样方法(只写名称)。
答:在光栅显示器上显示图形时,直线段或图形边界或多或少会呈锯齿状。
原因是图形信号是连续的,而在光栅显示系统中,用来表示图形的却是一个个离散的象素。
这种用离散量表示连续量引起的失真现象称之为走样;用于减少或消除这种效果的技术称为反走样。
反走样的方法有:提高分辨率、区域采样和加权区域采样。
5、依次写出用中点画线法进行直线扫描转换,从点(5,5)到(15,11)经过的象素点。
答:、、、、
《计算机图形学基础》模拟试题(2)
1、设一条二次Bezier 曲线的控制顶点为、、,另一条二次Bezier
曲线的控制顶点为
、、
,
= , 写出两条曲线可以精确合并(表示)为一条二次Bezier 曲线的条件。
解:如下图所示,由于可以精确合并,说明两曲线是由一条曲线在参数
处分割而
来,假设原曲线的控制顶点为
,
, . 由de Castejau 算法, 首先要求三
点共线,其次,于是:。
P0Q
2
X
2、设一条三次Bezier 曲线的控制顶点为、、、, 对曲线上一点及一个给定的目标点T,给出一种调整Bezier 曲线形状的方法,使得精确通过点T。
解:假设我们改变其中的一个控制顶点,比如将调整到,使得精确通过点T,改变后的曲线记为,则有:
即:,所以,只需将调整到/,即可。
3、写出只用点Z-Buffer(一个变量)的消隐算法,比较其和传统Z-Buffer(一个二维数组)的消隐算法的区别。
答:只用点Z-Buffer(一个变量)的消隐算法如下:
Z-Buffer()
{
帧缓存全置为背景色
//扫描整个屏幕
for(屏幕上的每个象素(i,j))
{
深度缓存变量zb置最小值MinValue
for(多面体上的每个多边形P k)
{
if(象素点(i,j)在p k的投影多边形之内)
{ 计算P k在(i,j)处的深度值depth;
if(depth大于zb)
{ z b = depth;
indexp = k;
}
}
}
if(zb != MinValue) 计算多边形P indexp在交点(I,j) 处的光照颜色并显示}
}
传统的Z-Buffer算法需要有帧缓存和一个二维数组的z深度缓存。
在把显示对象的每个面上每一点的属性(颜色或灰度)值填入帧缓冲器相应单元前,要把这点的z坐标值和z缓冲器中相应单元的值进行比较。
是遍历多边形;而点Z-buffer算法是遍历象素,再判有哪些多边形的投影包含此象素,作深度比较。
但是在不用开二维数组的Z-buffer的同时,带来了缺点是:反复进行点在多边形内部的判断,使算法效率降低。
4、(1)写出光线跟踪递归函数的伪代码。
(2)描述光线跟踪加速的层次包围盒方法。
解:
(1)
RayTracing(start, direction, weight, color)
{
if ( weight < MinWeight )
color = black;
else
{ 计算光线与所有物体的交点中离start 最近的点;
if ( 没有交点)
color = black;
else
{
local I = 在交点处用局部光照模型计算出的光强;
计算反射方向R;
RayTracing(最近的交点, R, weight* wr , I r );
计算折射方向T;
RayTracing(最近的交点, T, weight* wt , I t );
color = Ilocal + s r K I + t t K I ;
}
}
}
(2)包围盒技术的基本思想是用一些形状简单的包围盒(如球面、长方体等)将复杂景物包围起来,求交的光线首先跟包围盒进行求交测试,若相交,则光线再与景物求交,否则光线与景物必无交。
它是利用形状简单的包围盒与光线求交的速度较快来提高算法的效率的。
简单的包围盒技术效率并不高,因为被跟踪的光线必须与场景中每一个景物的包围盒进行求交测试。
包围盒技术的一个重要改进是引进层次结构,其基本原理是根据景物的分布情况,将相距较近的景物组成一组局部场景,相邻各组又组成更大的组,这样,将整个景物空间组织成树状的层次结构。
进行求交测试的光线,首先进入该层次的根节点,并从根节点开始,从上向下与各相关节点的包围盒进行求交测试。
若一节点的包围盒与光线有交,则光线将递归地与其子节点进行求交测试,否则,该节点的所有景物均与光线无交,该节点的子树无需作求交测试。
5、已知4 阶B 样条曲线的节点矢量为0,0,0,0,0.5,1,1,1,1,de Boor递推公式
为:,以下是t=0.4 处求值的de Boor 三角形,请补齐空的中间点底坐标。
解:
《计算机图形学基础》模拟试题(3)
1、列举三种常见的颜色模型,简要说明其原理和特点。
答:所谓颜色模型就是指某个三维颜色空间中的一个可见光子集,它包含某个颜色域的所有颜色。
常用的颜色模型有RGB、CMY、HSV 等。
RGB 颜色模型通常用于彩色阴极射线管等彩色光栅图形显示设备中,它是我们使用最多、最熟悉的颜色模型。
它采用三维直角坐标系,红、绿、蓝为原色,各个原色混合在一起可以产生复合色。
CMY 颜色模型以红、绿、蓝的补色青(Cyan)、品红(Magenta)、黄(Yellow)为原色构成,常用于从白光中滤去某种颜色,又被称为减性原色系统。
印刷行业中基本使用CMY颜色模型。
HSV(Hue,Saturation,Value)颜色模型是面向用户的,对应于画家的配色方法。
2、列举三种以上常见的曲面、曲面求交方法。
答:曲面与曲面求交的基本方法有代数方法、几何方法、离散方法和跟踪方法四种。
代数方法:代数方法利用代数运算,特别是求解代数方程的方法求出曲面的交线。
几何方法:几何方法是利用几何的理论,对参与求交的曲面的形状大小、相互位置以及方向等进行计算和判断,识别出交线的形状和类型,从而可精确求出交线。
对于交线退化或者相切的情形,用几何方法求交可以更加迅速和可靠。
离散方法:离散方法求交是利用分割的方法,将曲线不断离散成较小的曲面片,直到每一子曲面片均可用比较简单的面片,如四边形或者三角形平面片来逼近,然后用这些简单面片求交得到一系列交线段,连接这些交线段即得到精确交线的近似结果。
跟踪方法:跟踪方法求交是通过先求出初始交点,然后从已知的初始交点出发,相继跟踪计算出下一交点,从而求出整条交线的方法。
3、给出四次Bezier 曲线退化为三次Bezier 曲线,控制顶点、、、、应满足的
条件。
答: 退化条件是将曲线展开成幂级数形式后,所有的系数和为零,即或。
4、线消隐中,最基本的运算是什么?简述其算法流程。
答:线消隐中,最基本的运算为:判断面对线的遮挡关系。
体也要分解为面,再判断面与线的遮挡关系。
平面对直线段的遮挡判断算法
①若线段的两端点及视点在给定平面的同侧,线段不被给定平面遮挡,转7
②若线段的投影与平面投影的包围盒无交,线段不被给定平面遮挡,转7
③求直线与相应无穷平面的交。
若无交点,转4。
否则,交点在线段内部或外部。
若交点在线段内部,交点将线段分成两段,与视点同侧的一段不被遮挡,另一段在视点异侧,转4再判;若交点在线段外部,转4。
④求所剩线段的投影与平面边界投影的所有交点,并根据交点在原直线参数方程中的参数值求出Z 值(即深度)。
若无交点,转5。
⑤以上所求得的各交点将线段的投影分成若干段,求出第一段中点。
⑥若第一段中点在平面的投影内,则相应的段被遮挡,否则不被遮挡;其他段的遮挡关系可依次交替取值进行判断。
⑦结束。
5、试描述中点裁剪法的算法原理及算法流程。
解:首先对线段端点进行编码,并把每条线段分为三种情况处理。
(1)若完全在窗口内,则显示该线段简称“取”之。
(2)若明显在窗口外,则丢弃该线段,简称“弃”之。
(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则用中点分割的方法求出线段与窗口的交点。
即从点出发找出距最近的可见点A 和从点出发找出距P1 最近的可见点B,两个可见点之间的连线即为线段的可见部分。
从出发找最近可见点采用中点分割方法:先求出的中点Pm,若不是显然不可见的,并且在窗口中有可见部
分,则距最近的可见点一定落在上,所以用代替;否则取代替。
再对新的求中点。
重复上述过程,直到长度小于给定的控制常数为止,此时
收敛于交点。
由于该算法的主要计算过程只用到加法和除2运算,所以特别适合硬件实现,同时也适合于并行计算。
《计算机图形学基础》模拟试题(4)
1、给定型值点(0,0),(0,100),(100,0),(100,100),如对应的参数为,反求插值这四个型值点的三次Bezier 曲线的控制点。
答:假设控制顶点为,由Bezier 曲线的公式,将参数, 代入曲线方程,
即有:,
,解方程组可得。
2、描述Cohen-Sutherland 裁剪算法。
3、(1) 推导Beizer 曲线的升阶公式。
(2) 给定三次Beizer 曲线的控制顶点
(0,0),(0,100),(100,0),(100,100),计算升阶一次后的控制顶点。
解:
T=(0,0,0,0,0.5,1,1,1,1)为节点向量的三次B 样条曲线在t=1/4处的值。
5、描述多边形扫描转换的扫描线算法。
答:算法的思想:
扫描线多边形扫描转换算法是按扫描线顺序,计算扫描线与多边形的相交区间,
再用要求的颜色显示这些区间的象素,即完成填充工作。
区间的端点可以通过计算扫描线与多边形边界线的交点获得。
对于一条扫描线,多边形的填充过程可以分为四个步骤:(1)求交:计算扫描线与多边形各边的交点;
(2)排序:把所有交点按x 值递增顺序排序;
(3)配对:第一个与第二个,第三个与第四个等等;每对交点代表扫描线与多边
形的一个相交区间,
(4)填色:把相交区间内的象素置成多边形颜色,把相交区间外的象素置成背景
色。
但求交会导致算法效率低,为了能很好地利用图形地连贯性,我们可以引进多边形表、活性边表等数据结构,并利用增量算法避免求交运算。
具体算法如下:
算法过程
void polyfill (POLYGON polygon, int color)
{
for(各条扫描线i )
{
初始化新边表头指针NET [i];
把ymin = i 的边放进边表NET [i];
}
y = 最低扫描线号;
初始化活性边表AET 为空;
for (各条扫描线i)
{
把新边表NET[i]中的边结点用插入排序法插入AET 表,使之按x 坐标递增顺
序排列;
遍历AET表,把配对交点区间(左闭右开)上的象素(x, y),用drawpixel(x, y, color) 改
写象素颜色值;
遍历AET表,把ymax = i 的结点从AET表中删除,并把ymax > i 结点的x值递增Dx;
若允许多边形的边自相交,则用冒泡排序法对AET表重新排序;
}
} /* polyfill */
《计算机图形学基础》模拟试题(5)
1、为了在显示器等输出设备上输出字符,系统中必须装备有相应的字库。
字库中存储了每个字符的形状信息,字库分为哪两种类型?各有什么特点?
答:字库分为矢量型和点阵型两种。
在笔式绘图仪上采用矢量型字符比较适合,矢量型字符库采用矢量代码序列表示字符的各个笔画。
输出一个字符时,系统中的字符处理器解释该字符的每个矢量代码,输出对应的矢量,达到产生字符的目的。
在终端显示器上显示字符一般采用点阵型字符库。
点阵型字符库为每个字符定义一个字符掩膜,即表示该字符的象素图案的一个点阵。
2、NURBS 曲线的凸包性指什么?
答:NURBS 曲线的凸包性指的是定义在非零节点区间上曲线段位
于定义它的k+1 个控制顶点的凸包内。
整条NURBS 曲线位于所有定义各曲线
段的控制顶点的凸包的并集内。
所有权因子的非负性,保证了凸包性质的成立。
3、从心理学和视觉的角度出发,颜色有哪三个特性?与之相对应,从光学物理学的角度出发,颜色又有哪三个特性?
答:从心理学和视觉的角度出发,颜色有如下三个特性:色调(Hue),饱和度(Saturation)和亮度(Lightness)。
从光学物理学的角度出发,颜色的三个特性分别为:主波长(Dominant Wavelength),纯度(Purity)和明度(Luminance)。
4、计算以(30,0),(60,10),(80,30),(90,60),(90,90)为控制顶点的四次Bezier曲线在处的值,并画出de Casteljau 三角形。
解:值为(75, 34.375)
5、用几何法求平面和球的交线。
解:可按以下步骤求解:
(1)求球心到平面的距离,设为d,交点(投影点)为P;
(2)设球的半径为r,若r<d,则平面与球相离;
(3)若r=d,则平面与球相切,切点为P;
(4)若r>d,则平面与球相交,交线为圆,圆心为P ,半径为。
【此文档部分内容来源于网络,如有侵权请告知删除,本文档可自行编辑和修改内容,感谢您的支持!】
可编辑word,供参考版!。