计算机图形学5套模拟题.docx
《计算机图形学5套模拟题.docx》由会员分享,可在线阅读,更多相关《计算机图形学5套模拟题.docx(14页珍藏版)》请在冰豆网上搜索。
计算机图形学5套模拟题
组卷规则:
每套模拟题5个问答或者计算或者证明题,每题20分。
《计算机图形学基础》模拟试题
(1)
1、简述Cohen-Sutherland裁剪方法的思想,并指出与之相比,中点裁剪方法的改进之处,及这种改进的理由。
答:
Cohen-Sutherland裁剪算法的思想是:
对于每条线段分为三种情况处理。
(1)若完全在窗II内,则显示该线段P1P2简称''取”之。
(2)若P1P2明显在窗II外,则丢弃该线段,简称''弃”之。
(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则求线段与窗【I交点,在交点处把线段分为两段。
其中一段完全在窗II外,可弃之。
然后对另一段重复上述处理。
中点分割算法的人意是,弓Cohen-Sutherland算法一样首先对线段端点进行编码,并把线段与窗II的关系分为三种情况:
全在、完全不在和线段和窗II有交。
对前两种情况,进行同样的处理。
对于第三种情况,用中点分割的方法求出线段与窗II的交点。
即从P。
点出发找出距P。
最近的可见点A和从Pi点出发找出距垃最近的可见点B,两个可见点之间的连线即为线段P°Pi的可见部分。
从P。
出发找最近可见点采用中点分割方法:
先求出P°Pi的中点陰,若P°Pm不是显然不可见的,并且P°Pi在窗II中有可见部分,则距P。
最近的可见点一定落在PoPm上,所以用PoPm代替POP1:
否则取PmPl代替PoR。
再对新的P()Pi求中点仏。
重复上述过程,直到PmPi长度小于给定的控制常数为止,此时P/I攵敛于交点。
改进之处在于,对第三种情况,不直接解方程组求交,而是采用二分法收搜索交点。
这种改进的理由是:
计算机屏幕的彖素通常为1024X1024,最多十次二分搜索即可倒彖素级,必然找到交点。
而且中点法的主要计算过程只用到加法和除2运算,效率高,也适合硬件实现。
2、在Phong模型1=IaKa+IpKd(L-AT)+IpKs(R-V)n中,三项分别表示何含义?
公式中的各个符号的含义指什么?
答:
三项分别代表坏境光、漫反射光和镜面反射光。
厶为环境光的反射光强,*为理想漫反射光强,心为物体对环境光的反射系数,心为漫反射系数,&为镜面反射系数,n为高光指数,L为光线方向,N为法线方向,V为视线方向,R为光线的反射方向。
3、针对多面体模型,直接用Phong模型绘制会有什么问题?
简述两种增量式光照明模型(明暗处理)的基本思想,并指出两个算法的主要区别。
答:
针对多面体模型,使用Phong模型绘制会在多边形与多边形之交界处产生明暗的不连续变化,影响了曲面的显示效呆,即马赫带效应。
如果增加多边形个数,减小每个多边形的面积,当然也能改善显示效呆。
但是这样一来,数据结构将迅速膨胀,导致操作的空间与时间上升。
增量式光照模型的基本思想是在每一个多边形的顶点处计算合适的光照明强度或法向量,然后在各个多边形内部进行均匀插值,得到多边形光滑的颜色分布。
它包含两个主要的算法:
双线性光强插值和双线性法向插值,又被分别称为Gouraud明暗处理和Phong明暗处理。
两种算法的主要区别为:
Gouraud明暗处理采用光强插值,而Phong明暗处理采用法向插值。
4、解释走样和反走样的概念,并给出三种以上反走样方法(只写名称)。
答:
在光栅显示器上显示图形时,直线段或图形边界或多或少会呈锯齿状。
原因是图形信号是连续的,而在光栅显示系统中,用来表示图形的却是一个个离散的彖素。
这种用离散量表示连续量引起的失真现象称之为走样;用于减少或消除这种效果的技术称为反走样。
反走样的方法有:
提高分辨率、区域采样和加权区域采样。
5、依次写出用中点画线法进行直线扫描转换,从点(5,5倒(1541)^过的彖素点。
答:
(55)、(66)、(76)、(87)、(97)、(108)、(119).(129)、(1310)、(1410)、(1511)
《计算机图形学基础》模拟试题
(2)
1、设一条二次Bezier曲线的控制顶点为直、PL.P2,另一条二次Bezier曲线的控制顶点为Qo、Qi、Q2,P2=Qo,写出两条曲线可以精确合并(表示)为一条二次Bezier曲线的条件。
解:
如下图所示,由于可以精确合并,说明两曲线是由一条曲线在参数0v入vl处分割而来,假设原曲线的控制顶点为Po,x,Q2.FhdeCastejau算法,首先要求盼P2(Q0),QiH
2、设一条三次Bezier曲线的控制顶点为P。
、P2>P3z对曲线上一点P®及一个给定的目标点T,给出一种调整Bezier曲线形状的方法,使得P@)精确通过点几
解:
假设我们改变其中的一个控制顶点,比如将Pi调整到Pi+入,使得P®精确通过点T,改变后的曲线记为0(t),则有:
3
0(叽=1=》R艮,3(0+A•B1>3(-)
7匸。
T
即:
T=pQ)+A-B1,3Q),所以,只需将P1调整到P1+(T—P(》)/B1,3(9,即可。
3、写出只用点乙Buffer(一个变量)的消隐算法,比较其和传统Z-Buffer(一个二维数组)的消隐算法的区别。
答:
只用点Z-Buffer(一个变量)的消隐算法如下:
Z-Buffer()
{
帧缓存全置为背景色
//扫描整个屏幕
for(屏幕上的每个彖素(i,j))
{
深度缓存变量zb置最小值MmValue
for(多面体上的每个多边形Pk)
{
if(象素点Uj)在严的投影多边形之内)
{计算巩在(i,j)处的深度值depth;
if(depth大于zb)
{zb=depth;
iiidexp=k;
}
}
}
if(zb!
=MmValue)计算多边形Pmdexp在交点(I,j)处的光照颜色并显示
}
}
传统的Z-Buffer算法需要有帧缓存和一个二维数组的z深度缓存。
在把显示对彖的每个面上每一点的属性(颜色或灰度)值填入帧缓冲器相应单元前,要把这点的z坐标值和z缓冲器中相应单元的值进行比较。
是遍历多边形;而点Z-buffer算法是遍历象素,再判有哪些多边形的投影包含此彖素,作深度比较。
但是在不用开二维数组的Z-buffer的同时,带来了缺点是:
反复进行点在多边形内部的判断,使算法效率降低。
4、
(1)写出光线跟踪递归函数的伪代码。
(2)描述光线跟踪加速的层次包I#盒方法。
解:
(1)
RayTracing(start,direction,weight,color)
{
if(weightcolor=black;
else
{计算光线与所有物体的交点中离start最近的点;
if(没有交点)
color=black;
else
{
localI=在交点处用局部光照模型计算出的光强;
计算反射方向R:
RayTracingf最近的交点,R,weight*wrzIr);
计算折射方向T;
RayTracingf最近的交点,T,weight*wt,11);
color=llocal+srKI+ttKI;
(2)包W盒技术的基本思想是用一些形状简单的包I判盒(如球面、长方体等)将复杂景物包围起来,求交的光线首先跟包闱盒进行求交测试,若相交,则光线再与景物求交,否则光线与景物必无交。
它是利用形状简单的包I韦I盒与光线求交的速度较快来提高算法的效率的。
简单的包I判盒技术效率并不高,因为被跟踪的光线必须与场景中每一个景物的包I判盒进行求交测试。
包围盒技术的一个重要改进是引进层次结构,其基本原理是根据景物的分布情况,将相距较近的景物组成一组局部场景,相邻各组又组成更人的组,这样,将整个景物空间组织成树状的层次结构。
进行求交测试的光线,首先进入该层次的根节点,并从根节点开始,从上向下与各相关节点的包围盒进行求交测试。
若一节点的包I#盒与光线有交,则光线将递归地与其子节点进行求交测试,否则,该节点的所有景物均与光线无交,该节点的子树无需作求交测试。
5、已知4阶B样条曲线的节点矢量为0,0,0,0,0.5,1,1,1,1,deBoor递推公式(djI=Q
为:
沪{(1-叨羽+呃-TV丙’以下是"4处求值的de
Boor三角形,请补齐空的中间点底坐标。
d0(100400)
^(150,200),)
〃2(200,250)Td开,)Td钦,)
d3(300,200)Td扛240,230)Td孑(198,224)->^(191.2,221.6)
解:
4(300.200)
《计算机图形学基础》模拟试题(3)
1、列举三种常见的颜色模型,简要说明其原理和特点。
答:
所谓颜色模型就是指某个三维颜色空间中的一个可见光子集,它包含某个颜色域的所有颜色。
常用的颜色模型有RGB、CMY、HSV等。
RGB颜色模型通常用于彩色阴极射线管等彩色光栅图形显示设备中,它是我们使用最多、最熟悉的颜色模型。
它采用三维直角坐标系,红、绿、蓝为原色,各个原色混合在一起可以产生复合色。
CMY颜色模型以红、绿、蓝的补色青(Cyan)、品红(Magenta)、黄(Yellow)为原色构成,常用于从白光中滤去某种颜色,又被称为减性原色系统。
印刷行业中基本使用CMY颜色模型。
HSV(Hue,Saturation,Value)颜色模型是面向用户的,对应于画家的配色方法。
2、列举三种以上常见的曲面、曲面求交方法。
答:
曲面与曲面求交的基本方法有代数方法、几何方法、离散方法和跟踪方法四种。
代数方法:
代数方法利用代数运算,特别是求解代数方程的方法求出曲面的交线。
几何方法:
几何方法是利用几何的理论,对参与求交的曲面的形状人小、相互位置以及方向等进行计算和判断,识别出交线的形状和类型,从而可精确求出交线。
对于交线退化或者相切的情形,用几何方法求交可以更加迅速和可靠。
离散方法:
离散方法求交是利用分割的方法,将曲线不断离散成较小的曲面片,直到每一子曲面片均可用比较简单的面片,如四边形或者三角形平面片来逼近,然后用这些简单面片求交得到一系列交线段,连接这些交线段即得到精确交线的近似结果。
跟踪方法:
跟踪方法求交是通过先求出初始交点,然后从已知的初始交点出发,相继跟踪计算出下一交点,从而求出整条交线的方法。
3、给出四次Bezier曲线退化为三次Bezier曲线,控制顶点P。
、Pi、P2>P3、&应满足的条件。
答:
退化条件是将曲线展开成幕级数形式后,所有卅的系数和为零,即Po=0或
4、线消隐中,最基本的运算是什么?
简述其算法流程。
答:
线消隐中,最基本的运算为:
判断面对线的遮挡关系。
体也要分解为面,再判断面与线的遮挡关系。
平面对直线段的遮挡判断算法
1若线段的两端点及视点在给定平面的同侧,线段不被给定平面遮扌当,转7
2若线段的投影与平面投影的包围盒无交,线段不被给定平面遮挡,转7
3求直线与相应无穷平面的交。
若无交点,转4。
否则,交点在线段内部或外部。
若交点在线段内部,交点将线段分成两段,与视点同侧的一段不被遮挡,另一段在视点异侧,转4再判;若交点在线段外部,转4。
4求所剩线段的投影与平面边界投影的所有交点,并根据交点在原直线参数方程中的参数值求出Z值(即深度)。
若无交点,转5。
5以上所求得的各交点将线段的投影分成若干段,求出第一段中点。
6若第一段中点在平面的投影内,则相应的段被遮挡,否则不被遮扌当;其他段的遮挡关系可依次交替取值进行判断。
7结束。
5、试描述中点裁剪法的算法原理及算法流程。
解:
首先对线段端点进行编码,并把每条线段P】P2分为三种情况处理。
(1)若竝戸2完全在窗II内,则显示该线段P】P2简称“取”之。
(2)若P]P2明显在窗II外,则丢弃该线段,简称''弃”之。
(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则用中点分割的方法求出线段与窗II的交点。
即从Po点出发找出距Po最近的可见点A和从垃点出发找出距Pl最近的可见点B,两个可见点之间的连线即为线段PoPi的可见部分。
从Po出发找最近可见点采用中点分割方法:
先求出P°Pi的中点Pg若Pof不是显然不可见的,并且PoPi在窗II中有可见部分,则距Po最近的可见点一定落在PoPzn上,所以用Po禺代替PoPl:
否则^mPl代替PE。
再对新的PoPl求中点禺。
重复上述过程,直到PmP]长度小于给定的控制常数为止,此时Pdl攵敛于交点。
由于该算法的主要计算过程只用到加法和除2运算,所以特别适合硬件实现,同
时也适合于并行计算。
《计算机图形学基础》模拟试题(4)
1、给定型值点(0,0),(0,100),(100,0),(100,100),如对应的参数为0,扌,扌,1,反求插值这四个型值点的三次Bezier曲线的控制点。
答:
假设控制顶点为加,加』2』3,由Bezier曲线的公式,将参数0,扌,1,代入曲线方程,即有:
=(0,0),&3=(100,100),(0,100)=舟加+害加+彳加+舟“3,(100,0)=舟加+|加+黑2+孰3,解方程组可得加=(—竽,学),b2=(罟,一罟)。
2^描述Cohen-Sutherland裁剪算法。
答:
该算法的思想是:
对于每条线段P1P」分为三种情况处理。
(1)若P】P2完全在窗口内,则显示该线段P1P2简称“取”之。
(2)若P】P2明显在窗口外,则丢弃该线段,简称“弃”之。
(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则在交点处把线段分为两段.英中一段完全在窗口外,可弃之。
然后对另一段亟复上述处理。
为使计算机能够快速判断一条直线段与窗口属何种关系,采用如下编码方法。
如下图,延长窗口的边,将二维平面分成九个区域.每个区域赋予4位編码CtCbCi裁剪-条线段时,先求出PH所在的区号codelxodeZp若codel=0.且code2=0,贝ij线
段P1P?
在窗口内,应取Z。
若按位与运算codJ&coh2H0,则说明两个端点同在窗口的上
方、下方.左方或右方。
可判断线段完全在窗口外,可弃Z。
否则,按第三种情况处理。
求出线段与窗口某边的交点,在交点处把线段一分为二,其中必有一段在窗□外.可弃Z。
在对另一段重复上述处理。
在实现本算法时,不必把线段与每条窗口边界依次求交,只要按顺序检测到端点的编码不为0,才把线段与対应的窗口边界求交。
3、
(1)推导Beizer曲线的升阶公式。
⑵给定三次Beizer曲线的控制顶点
(0,0),(0,100),(100,0),(100,100),计算升阶一次后的控制顶点。
解:
设给定原始控制顶点厶&,…,好,定义了一条11次Bezier曲线:
%)=£肚川)re[0.1]
z=o
增加一个顶点后,仍定义同一条曲线的新控制顶点为用.尺,・:
弓二,则有:
nw+1
力C;E(1-旷显了(1-旷
7=07=0
对上式左边乘以(r+(i-r)),得到:
Xc;pf(1-十严(i-rr;)=xma-严
z=0
比较等式两边几1—7)^1项的系数,得到:
化简即得:
其中巴=马+严0。
升阶一次后的控制顶点为(0.0),(0,75),(50.50),(100.25),(100.100)。
4、用deBoor算法,求以(30,0),(60,10),(80,30),(90,60),(90,90)^控制顶点、以冃00000・5丄1丄1)为节点向量的三次B样条曲线在t=1/4处的值。
解:
由deBoor算法,尸⑺=工邓』)=丫弓⑴⑴化亠仗),
r-E/=J-A+2
按公式:
有以下的deBoor三角形:
(30.0)
(9090)
即B样条曲线在t=1/4处的值为(62.1875J5.3125)
5、描述多边形扫描转换的扫描线算法。
答:
算法的思想:
扫描线多边形打描转换算法是按打描线顺序,计算扫描线与多边形的相交区间,
再用要求的颜色显示这些区间的象素,即完成填充工作。
区间的端点可以通过计算打描线与多边形边界线的交点获得。
对于一条扫描线,多边形的填充过程可以分为四个步骤:
(1)求交:
计算扫描线与多边形各边的交点;
(2)排序:
把所有交点按x值递增顺序排序;
(3)配对:
第一个与第二个,第三个与第四个等等;每对交点代表扫描线与多边形的一个相交区间,
(4)填色:
把相交区间内的彖素置成多边形颜色,把相交区间外的象素置成背景色。
但求交会导致算法效率低,为了能很好地利用图形地连贯性,我们可以引进多边形表、活性边表等数据结构,并利用增量算法避免求交运算。
具体算法如下:
算法过程
voidpolyfill(POLYGONpolygon,intcolor)
{
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>1结点的x值递增Dx;若允许多边形的边自相交,则用冒泡排序法对AET表重新排序;
}
}/*polyfill♦/
《计算机图形学基础》模拟试题(5)
1、为了在显示器等输出设备上输出字符,系统中必须装备有相应的字库。
字库中存储了每个字符的形状信息,字库分为哪两种类型?
各有什么特点?
答:
字库分为矢量型和点阵型两种。
在笔式绘图仪上采用矢量型字符比较适合,矢量型字符库采用矢量代码序列表示字符的各个笔画。
输出一个字符时,系统中的字符处理器解释该字符的每个矢量代码,输出对应的矢量,达到产生字符的目的。
在终端显示器上显示字符一般采用点阵型字符库。
点阵型字符库为每个字符定义一个字符掩膜,即表示该字符的彖素图案的一个点阵。
2、NURBS曲线的凸包性指什么?
答:
NURBS曲线的凸包性指的是定义在非零节点区|ujt6[tpti+1]u[tk_lttn+1]上曲线段位于定义它的k+1个控制顶点珂_上+1,…,乙的凸包内。
整条NURBS曲线位于所有定义各曲线段的控制顶点的凸包的并集内。
所有权因子的非负性,保证了凸包性质的成立。
3、从心理学和视觉的角度出发,颜色有哪三个特性?
与之相对应,从光学物理学的角度出发,颜色又有哪三个特性?
答:
从心理学和视觉的角度出发,颜色有如下三个特性:
色调(Hue),饱和度(Saturation)和亮度(Lightness)<>从光学物理学的角度出发,颜色的三个特性分别为:
主波长(DominantWavelength),纯度(Purity)和明度(Luminance)®
4、计算以(30,0),(60,10),(80,30),(90,60),(90,90)为控制顶点的四次Bezier曲线在t=扌处的值,并画出deCasteljau三角形。
解:
值为(75,34.375)
(30.0)
(60.10)
(80.30)
(90.60)
(90.90)
(45.5)
(70.20)
^>(85.45)
—(90.75)
亍二(57.5,12.5)
(77.5.32.5)
<^(67.5,22.5)
(87.5.60)——(82.5.46.25)3
(75,34.375)
5、用几何法求平面和球的交线。
解:
可按以下步骤求解:
(1)求球心到平面的距离,设为d,交点(投影点)为P:
(2)设球的半径为r,若r(3)若尸d,则平面与球相切,切点为P:
(4)若r>d,则平面与球相交,交线为圆,圆心为P,半径为VF匸丽。