计算机图形学模拟题
计算机图形学试题B
2011/2012学年第⼀学期期末试题
⼀、选择题(每⼩题5分,共30分)
1. 分辨率为1024×1024的显⽰器各需要多少字节位平⾯数为24的帧缓存?() A)512KB B) 1MB C) 2MB D)3MB
2. 在直线的 Bresenham 算法中,若直线的斜率 |m|>1 ,且 y1
C) x i+1 = x i + 1 ;y i+1 = y i 或 y i+1 = y i ± 1 D) x i+1 = x i – 1 ;y i+1 = y i 或 y i+1 = y i ± 1
3.
下述⽤数值微分法(DDA )画斜率的绝对值⼩于1的直线的C 语⾔⼦程序中()⾏有错? #define round(x) int(a+0.5)
void drawLineWithDDA (int x1, int y1, int x2, int y2) {
A) int x, y;
B) float k = (float)(y2-y1)/(x2-x1); C) for(x=x1,y=y1;x<=x2;x++) {
SetPixel(round(x),round(y)); D) y+=k; } }
| A B 0 |
多边形| C D 0 | (注:坐标向量采⽤⾏向量⽅式。) | 0 0 1 |
A) cos(a) B)-sin(a) C)-sin(a) D)cos(a) 5. 下列关于Bezier 曲线的性质,()是错误的.
A) 在起点和终点处的切线⽅向和控制多边形第⼀条边和最后⼀条边的⽅向⼀致; B) 曲线及其控制多边形在起点处有什么⼏何性质,在终点处也有什么性质; C) 在端点处的R 阶导数,仅与R 个相邻个控制顶点有关;
D) 对于平⾯曲线⽽⾔,其与某直线的交点个数不多于该直线与控制多边形的交点个数; 6.使⽤下列⼆维图形变换矩阵,将产⽣变换的结果为()
A )图形放⼤2倍;
B )图形放⼤2倍,同时沿X 、Y 坐标轴⽅向各移动1个绘图单位;
C )沿X 坐标轴⽅向各移动2个绘图单位;
D )沿X 坐标轴⽅向放⼤2倍,同时沿X 、Y 坐标轴⽅向各平移1个绘图单位。
⼆、简答与证明题(每题6分,共24分)
1.试证明n 次Bezier 曲线在起始点处切线落在P 0P 1连线⽅向上,终⽌点切线落在P n-1P n 连线
⽅向上。
2.证明关于直线y =x 的对称变换矩阵等价于相对x 轴的对称变换加上逆时针旋转90度。
3.写出顺时针绘制??
∈2,
0R x 圆的中点Bresenham 算法原理、判别式、误差项的初始值
及递推公式。
T =
4.请写出C_S 裁剪算法中对点(x ,y )进⾏编码的伪代码程序。函数原型为: int encode (int x,int y );//函数返回对点(x ,y )的编码值。对使⽤到的变量常量给予说明。
三、计算与作图题(前3⼩题每题10分,第4题16分,共46分)
1.已知直线的两个端点P1(20,10),P2(30,18),⽤DDA 算法使该线段光栅化,请填写下表。并已知解得:步长dx = 10; dy = 8; steps = 10; x 增量x_in= 1; y 增量y_in = 0.8;(10分)
2.求空间四⾯体A(2,0,0)B(2,2,0)C(0,2,0)D(2,2,2)关于点 P(2,-2,2)整体放⼤2倍的变换矩阵和变换后的空间四⾯体坐标。(10)
3.简述深度缓存算法(Z-Buffer )的原理及基本⼯作流程。(10分)
4.如下图所⽰三⾓形ABC ,将其关于A 点逆时针旋转900,写出其变换矩阵和变换后图形各点的规范化齐次坐标。(16分)
计算机图形学试题B
2011/2012学年第⼀学期期末试题
⼀、选择题(每⼩题5分,共30分)
DAABCD
⼆、简答与证明题(每题6分,共24分)
1. 试证明n 次Bezier 曲线在起始点处切线落在P0P1连线⽅向上,终⽌点切线落在Pn-1Pn 连线⽅向上。
证明:))()(()(1,1,1,t B t B n t B n i n i n i ----='
故可知:n 次Bezier 曲线在起始点处切线落在P 0P 1连线⽅向上,终⽌点切线落在P n-1P n
连线⽅向上。
∑∑=--------=----=-++-+-=-='n
i n i i i n n n n n n n
i n i n i i t B P P n t B P P t B P P t B P P n t B t B P n t P :11,111,111,1121,0010
1,1,1)
()())()()()()()(())
()(()( 且因为)
()0(01P P n p :,-='有所以)
()1(1--='n n P P n p
2.证明关于直线y =x 的对称变换矩阵等价于相对x 轴的对称变换加上逆时针旋转90度。证明:
因为T1×T2=T ,所以等价。 3. 写出顺时针绘制
∈2,
0R x 圆的中点Bresenham 算法原理、判别式、误差项的初始值
及递推公式。(10)
答:由于最⼤位移⽅向为X ,因此其基本原理为:每次X ⽅向上⾛⼀步,⽽Y ⽅向上或减1,或减0
构造判别式:
d i = F(x m , y m ) = F(x i +1,y i -0.5)=(x i +1)2+(y i -0.5)2-R 2
误差项的初始值:d0
d 0=F(1,R-0.5)=1+(R-0.5)2-R 2
=1.25-R 递推公式:
d i <0下⼀点为(x i +1,y i )
d i+1=F(x i +2,y i -0.5) = (x i +2)2+(y i -0.5)2-R 2
=(x i +1)2+(y i -0.5)2-R 2
+2*x i +3=d i +2*x i +3 d i ≥0 下⼀点坐标为(x i +1,y i -1)
d i+1 = F(x i +2,y i -0.5)=(x i +2)2+(y i -1.5)2-R 2
=(x i +1)2+(y i -0.5)2-R 2
+(2*x i +3)+(-2*y i +2) =d i +2*(x i -y i )+5
4.请写出C_S 裁剪算法中对点(x ,
y )进⾏编码的伪代码程序。函数原型为: int encode (
1.已知直线的两个端点P1(20,10),P2(30,18),⽤DDA 算法使该线段光栅化。并已知解得:dx = 10; dy = 8; steps = 10;
x_in= 1; y_in = 0.8;(10分)解:(蓝⾊字体为解答答案)
2.求空间四⾯体A(2,0,0)B(2,2,0)C(0,2,0)D(2,2,2)关于点P(2,-2,2)整体放⼤2倍的变换矩阵和变换后的空间四⾯体坐标。(10)解:关于点P(2,-2,2)整体放⼤两倍,
变换矩阵:点P(2,-2,2)平移⾄原点--⽐例变换放⼤两倍--反平移回点P(2,-2,2)。
变换过程:空间四⾯体ABCD 的规范化齐次坐标(x,y,z,1) * 4阶三维⽐例变换矩阵
空间四⾯体ABCD 的齐次坐标(x',y',z',1/2)转换成规范化齐次坐标
由⽐例变换后规范化齐次坐标(x',y',z',1)可写出顶点坐标:
A'(2,2,-2) B'(2,6,-2) C'(-2,6,-2) D'(2,6,2)
3.简述深度缓存算法(Z-Buffer)的原理及基本⼯作流程。(10分)
解:Z-buffer算法的原理:先将待处理的景物表⾯上的采样点变换到图像空间,即屏幕坐标系,计算其深度值,并根据采样点在屏幕上的投影位置,将其深度与已存储在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)存⼊Z 缓存中的(x,y)处,再所多边形在z(x,y)处的颜⾊值存⼊帧缓存的(x,y)地址中。
4. 如下图所⽰三⾓形ABC ,将其关于A 点逆时针旋转900,写出其变换矩阵和变换后图形各点的规范化齐次坐标。(16分)
-=
---=137001010152010001100
04
cos 4sin 04sin 4cos 152010001ππππ:T 变换矩阵变换后A 点的齐次坐标:
[][]152137*********=
-?=T 变换后B 点的齐次坐标:
[][]146137*********=
-?=T 变换后C 点的齐次坐标:
[][]194137001010136=??
-?=T
发布评论