《计算机图形学考试重点计算题(9页).doc》由会员分享,可在线阅读,更多相关《计算机图形学考试重点计算题(9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-计算机图形学考试重点计算题-第 9 页1、已知一直线段起点(0,0),终点(8,6),利用Bresenham算法生成此直线段,写出生成过程中坐标点及决策变量d的变化情况,并在二维坐标系中,标出直线上各点。评分标准:按如下答案所写可得全分。如给出Bresenham的基本思想,可得2分,给出程序得3分,给出e得计算公式可得2分,给出图示得3分。思路或步骤正确,中间座标点算错,酌情处理。2、试用中点画圆算法原理推导第一象限中y=0到x=y半径为R的圆弧段的扫描转换算法。(要求写清原理、误差函数和递推公式,并进行优化)评分标准:(1) 圆的中点Bresenham的原理是在第一象限中y=0到x=y:每
2、次在主位移方向x上走一步,y方向上退不退步取决于中点偏差判别式的 值。(2)偏差判别式:y方向的变化情况:(3)递推公式: 当d0时,下一步的中点坐标为:M(x i2,y i)。所以下一步中点偏差判别式为:当d0时,下一步的中点坐标为:M(x i2,y i)。所以下一步中点偏差判别式为:(4)中点偏差判别式的初值:(5)算法设计:1) 输入圆的半径R。2) 定义圆当前点坐标x,y、定义中点偏差判别式d、定义像素点颜色rgb。3) 计算,x=0,y=R,rgbRGB(0,0,255)。4) 判断d的符号。若d0,则(x,y)更新为(x1,y),d更新为d+2x3;否则(x,y)更新为(x1,y1
3、),d更新为d2(xy)5。5) 当x小于等于y,重复步骤,否则结束。3、如下图所示多边形,若采用扫描线算法进行填充,试写出该多边形的ET表和当扫描线Y=3时的有效边表(AET表)。解:边表: 123452 4 -3 2 1 0 AFABBBBB4 5 -1 4 5 11 5 1FEDEDC Y=3时的有效边表: Y=34/3 4 -3 4 5 -14 5 1AFDEDCBC4、试按左下右上顺序用四向算法,分析当S1为种子时,下图区域的填充过程。答案:S1876341211102955、将下图中的多边形ABCD先关于点C(3,4)整体放大2倍,再绕点D(5,3)顺时针旋转90,试推导其变换矩阵
4、、计算变换后的图形各顶点的坐标,并画出变换后的图形。A(1,1)D(5,3)C(3,4)B(1,3)OY(1) 关于点C(3,4)整体放大2倍(2) 绕点D(5,3)顺时针旋转90度(3) 变换矩阵T总T*T (4)6、已知三角形ABC各顶点的坐标A(3,2)、B(5,5)、C(4,5),相对直线P1P2(线段的坐标分别为:P1 (-3,-2) 、P2 (8,3) )做对称变换后到达A、B、C。试计算A、B、C的坐标值。(要求用齐次坐标进行变换,列出变换矩阵,列出计算式子,不要求计算结果)解:(1)将坐标系平移至P1 (-3,-2)点: (2)线段P1P2与X轴夹角为 (3) 顺时针方向旋转角
5、: (4)关于X轴对称: (5)逆时针转回:(3)将坐标系平移回原处(4) 变换矩阵:T=TA*TB*TC *TD*TE (5) 求变换后的三角形ABC各顶点的坐标A、B、C A: B: C: 7、试作出下图中三维形体ABCDE的三视图。要求写清变换过程,并画出生成的三视图。解:(1) 主视图: Z (2,2) (0,0) (2,0) X O(2) 俯视图:XOY(0,0)(2,0)(2,2)(0,2)(3) 侧视图:YOZ(0,0)(2,0)(2,2)8、试采用SutherlandCohen裁剪算法,叙述裁剪如下图所示的直线AB和CD的步骤: 写出端点A、B、C、D的编码; 写出裁剪原理和直
6、线AB、CD的裁剪过程。解:由图可知,两直线端点的编码分别为“:A(1000),B(0010),C(0001),D(0001)(1)由A&B=1,C&D=0,可知,CD显然不可见,AB为可见性不定。(2)求AB落在窗口内的始点坐标。由A点不在窗口内,且xAxw0,xw1,取AB与y=yw1的交点E,且xEx0+(xB-xA)(yW1-yA)/(yB-yA) yE=yw1显然,E满足xW0xxW1,故E点为所求的新始点。(3)求AB落在窗口内的终点坐标。B点不在窗口内,且xBxW1,则取AB与x=xW1的交点P,且x=xW1yE=yA+(xW1-xA) (yB-yA)/(xB-xA)显然,P满足
7、yW0yyW1,故P点为所求的新始点(4) EP即为所求线段9、用梁友栋算法裁减如下图线段AB,A、B点的坐标分别为(3,3)、(-2,-1) 裁剪窗口为wxl=0,wxr=2,wyb=0,wyt=2。解:以A(3,3)为起点,B(-2,-1)为终点所以有x1=3,y1=3,x2=-2,y2=-1,wxl=0,wxr=2,wyb=0,wyt=2构造直线参数方程: x=x1+u(x2-x1) (0=u=1) y=y1+u(y2-y1)把 x1=3,y1=3,x2=-2,y2=-1 代入得 x=3-5u y=3-4u计算各个p和q值有: p1=x1-x2=5 q1=x1-wxl=3 p2=x2-x
8、1=-5 q2=wxr-x1=-1 p3=y1-y2=4 q3=y1-wyb=3 p4=y2-y1=-4 q4=wyt-y1=-1根据,uk=qk/pk 算出 pk0时:u1=3/5 u3=3/4 umax=MAX(0,u2,u4)=MAX(0,1/5,1/4)=1/4 (取最大值) umin=MIN(u1,u3,1)=MIN(3/5,3/4,1)=3/5 (取最小值)由于 umaxumin ,故此直线AB有一部分在裁减窗口内,pk0时,将 umin=3/5 代入直线参数方程 x=x1+u(x2-x1) x=3+3/5*(-5)=0 y=y1+u(y2-y1) y=3+3/5*(-4)=3/5
9、求出直线在窗口内部分的端点D(0,3/5)。所以,直线在窗口内部分的端点为C(7/4,2),D(0,3/5)。10、试用Sutherland-Hodgman算法裁剪下图所示多边形,要求:(1)简述裁剪原理;(2)图示裁剪过程,绘出裁剪结果。解:(1)只要对多边形用窗口的四条边依次裁剪四次便可得到裁剪后的多边形。每次用窗口的一条边界(包括延长线)对要裁剪的多边形进行裁剪,裁剪时,顺序地测试多边形各顶点,保留边界内侧的顶点,删除外侧的顶点,同时,适时地插入新的顶点:即交点和窗口顶点,从而得到一个新的多边形顶点序列。然后以此新的顶点序列作为输入,相对第二条窗边界线进行裁剪,又得到一个更新的多边形顶点
10、序列。依次下去,相对于第三条、第四条边界线进行裁剪,最后输出的多边形顶点序列即为所求的裁剪好了的多边形。如下图所示。(2)裁剪过程1231451634315651721254316765182124325431765182124326165431243278910裁剪前多边形顶点序号用左边界裁剪多边形后顶点序号用上边界裁剪多边形后顶点序号用右边界裁剪多边形后顶点序号用下边界裁剪多边形后顶点序号最终裁剪的多边形11、简述深度缓存算法(Z-Buffer)的原理及基本工作流程。解:Z-buffer算法的原理:先将待处理的景物表面上的采样点变换到图像空间,即屏幕坐标系,计算其深度值,并根据采样点在屏幕
11、上的投影位置,将其深度与已存储在Z缓存器中相应像素处的原可见点的深度值进行比较。如果新的采样点的深度(Z值)大于原可见点的尝试表明新的采样点计划遮住了原来的可见点,则用该采样点处的颜色更新帧缓存器中相应像素的颜色,同时用其深度值更新Z缓存器中的深度值;否则不作更改。 基本工作流程:(1)初始化:把Z缓存中各(x,y)单元置为z的最小值,而帧缓存各(x,y)单元置为背景色。(2)在把物体表面相应的多边形扫描转换成帧缓存中的信息时,对多边形内的每一采样点(x,y)进行以下几步处理:1)计算采样点(x,y)的深度z(x,y);2)如果z(x,y)大于z缓存中在百忙之中(x,y)处的值,则把z(x,y
12、)存入Z缓存中的(x,y)处,再所多边形在z(x,y)处的颜色值存入帧缓存的(x,y)地址中。12、试写出正轴测投影变换矩阵,并推导出等轴测图的条件。解:先将三维实体分别绕两个坐标轴旋转一定的角度,然后再向由这两个坐标轴所决定的坐标平面作正投影。下面以XOZ平面(V 面)作正投影为例: 将三维实体绕Z轴逆时针转角;将三维实体绕X轴顺时针转角;向XOZ平面(V面)作正投影。 其变换矩阵为:轴向变形系数:hxOA/OAhyOB/OBhzOC/OCcosf正等轴测图的特点是:三轴上的变形系数均相等,即hx = hy = hz当=45=3516获得等轴测图tgax = tg45sin35tgay =
13、ctg45sin35 ax = ay = 3013、简述轴测投影与透视投影的区别。轴测投影不改变三维实体中平行线段的平行性,而透视投影则不然,它至少会改变某一个方向上平行线段的平行性;轴测投影的立体感比较强,而透视投影的真实感比较强;在工程设计上一般采用轴测投影,而在艺术方面:如艺术造型等,一般采用透视投影。14、根据下图写出P(x,y,z) 一点透视后P(x,z)的坐标运算式(设透视变换时的偏移量为(dx,dy,dz)P(x,y,z) P(x,z) XZYV(0,h,0) xxzzhy物体上任一点坐标(视点)投影面其中:x,y,z为原始物体坐标。x,z为物体投影到XOZ平面后的坐标。dx ,
14、dy,dz为平移量。h为视点到投影面(屏幕)的距离。解:为了使透视投影后的图形有一个恰当的位置: 平移:设平移量分别为dx、dy、dz; 透视变换:变换矩阵为Tq(q=-1/h); 向XOZ平面投影。 其矩阵表示为: 其运算式为:x=(x+dx)/(1-y/h-dy/h)z=(z+dz)/(1-y/h-dy/h)15、给定四点P1(0,0)、P2(1,3)、P3(4,2)、P4(5,0),用特征多边形 构造一条Bezier曲线; 构造一条3次B样条曲线; 计算参数t为0,1/2,1时它们的值,并分别画出两条曲线。Bezier曲线 3次B样条曲线解:(1) 3次Bezier曲线表达式: p0(t
15、)= (0t1)(2) 3次B-Spline曲线表达式p1(t)=1/6 (0t1)(3) 当t=0,0.5,1时,p0(0)(0,0);p0(0.5)=(5/2,15/8) p0(1)=(5,0);当t=0,0.5,1时,p1(0)(4/3,7/3);p1(0.5)=(5/2,115/48) p1(1)=(11/3,11/6);16、设空间有一个四面体,顶点A,B,C,D的坐标依次是(0,0,0),(2,0,1),(4,0,0),(3,2,1),从z轴正向无穷远处观察,求各面的可见性(要求其运算过程)。解:观察方向向量是k=(0,0,1),三角面DAB的法向量是:因此, ,面DAB为可见面.类似计算可知,面DBC是可见面,面ADC是不可见面,面ACB退化为线。17、写出简单光照明模型的方程表达式(设为一个光源),并转换为由L、N和V向量表示的模型方程表达式。(光源与视点在无穷远处)光照明模型已知参数: Ia:环境光的反射强度Ka:环境光的反射系数Ip:光源的强度Kd:漫反射系数Ks:镜面反射系数n:与物体光滑度有关的常数解:I=IaKa+IpKd(LN)+ IpKs(RV)n IaKa+IpKd(LN)+ IpKs(HN)n(光源与视点在无穷远时)其中H=(L+V)/2