成都理工大学2010-2011学年_第一学期《计算机图形学》考试试卷_A

  • 格式:pdf
  • 大小:376.38 KB
  • 文档页数:8

—1—成都理工大学2010—2011学年

第一学期《计算机图形学》考试试卷A

大题一二三四总分得分

一、填空(将正确答案填入对应小题中,每小题3分,共30分)

1、计算机图形学是研究利用计算机来显示、生成和处理图形的原理、方

法和技术的一门学科。

2、光栅图形子系统的两个重要部件是:帧缓冲存储器和显示控制器。

3、平行投影与透视投影区别是平行投影不具有透视缩小性;正投影与斜投

影的区别是投影方向和投影面是否垂直。

4、三次样条曲线常用的约束条件有自由端、夹持端、抛物端。

5、使用下面的二维图形变换矩阵:

T=









103020001

产生变换的结果是沿Y方向放大2倍,沿X方向平移3。

6、构造一个3次Bezier曲面需要16个控制点;若修改3次B样条曲线控

制点,最多影响三次B样条曲线段数是4。

7、OpenGL三维平行投影函数是glOrtho(left,botton,right,top,near,far)。

8、请写出正等测投影的投影矩阵{√2/2-√6/600|0√6/300|-√2/2-√6/600|0001}(转换成矩阵

)。

9

、在图形学中通常用哪几个参数定义观察坐标系观察参考点、观察平面法

向量、观察正向。

10、

消隐算法按实现方式分为:图像空间和景物空间消隐算法两类。︵

︶—2—二、选择填空(选择正确的答案填入对应题号,每小题2分,共20分)

1、使用下列二维图形变换矩阵:

T=









100001010

,产生变换的结果为D。

A沿X坐标轴平移1个单位,同时沿Y坐标轴平移-1个单位

B绕原点逆时针旋转90度

C沿X坐标轴平移-1个单位,同时沿Y坐标轴平移1个单位

D绕原点顺时针旋转90度

2、下面哪个OpenGL函数的调用会改变材质的漫反射光系数B。

AglMaterialfv(GL_FRONT,GL_AMBIENT,amb)

BglMaterialfv(GL_FRONT,GL_DIFFUSE,dif)

CglLightfv(GL_FRONT,GL_AMBIENT,amb)

DglLightfv(GL_FRONT,GL_DIFFUSE,dif)

3、下面那种特性是B样条曲线不具有的C。

A对称性B凸包性

C通过特征多边形的起点和终点D局部性

4、下面几种连续变换,试问哪一种变换矩阵不能互换D。

A两个连续的旋转变换B两个连续的平移变换

C两个连续的比例变换D平移变换与旋转变换

5、下列有关投影的叙述语句中,不正确的论述为A。

A透视投影与平行投影相比,能真实的反映物体的精确的尺寸和形状

B平行投影的投影中心到投影面距离是无限的

C透视投影的灭点可以有多个

D与斜等测投影面垂直的任何直线段,其投影长度不变—3—6、下面对于Bezier曲线端点的描述是最准确的C。

A曲线过多边形的端点P1和Pn

B曲线与多边形的端点直线P

1P

2和P

nP

n-1相切

C曲线过多边形的端点P1和Pn并与端点直线P

1P

2和P

nP

n-1相切

D曲线无约束,仅与控制点有关。

7、下面那种方法不会减少图形走样现象A。

A增加画线宽度B提高屏幕分辨率

C使用区域采样算法D使用加权区域采样

8、图形学引入齐次变换矩阵的意义是B。

A便于矩阵运算B提高图形变换速度

C便于进行投影变换D有利于将二维图形变换为三维图形

9、连续的三次参数样条曲线是由一系列的Hermite曲线段连接起来的,

指出是依据下面哪个条件建立构成的C。

AC(0)BC(1)CC(2)D两Hermite曲线段端点值相等

10、下面关于Bresenham圆弧生成算法描述正确的是A。

ABresenham不必做四舍五入运算

BBresenham算法速度快但效果没有DDA方法好

CBresenham算法需要做除法

DBresenham算法只能绘制八分之一圆弧

三、问答题(共30分)

1、试写出实现下面图形的组合变换矩阵。其中A(X

a,Y

a),矩形的宽度为W,

矩形的高度为H,旋转角度为α。(10分)—4—

α

BC

A'

AD'DC'

B'y

x

O

T1={100|010|-Xa-Ya1}

T2={cosasina0|-sinacosa0|001}

T3={100|010|-Xa-Ya1}

2、已知空间轴AB,A点坐标为(0,0,0),B点的坐标(2,1,1)

请写出关于AB旋转θ角度的组合旋转矩阵,及简要过程。(10分)

T1={1000|01/√21/√20|0-1/√21/√20|0001}

T2={1/30-√8/30|0100|√8/301/30|0001}

T3={1000|0cosθsinθ0|0-sinθcosθ0|0001}

T4={1000|01/√2-1/√20|01/√21/√20|0001}

T5={1/30√8/30|0100|-√8/301/30|0001}

3、已知多边形顶点坐标:P0(2,5)、P1(1,3)、P2(2,1)、P3(6,3)、P4(4,6)要

求写出利用扫描线算法填充时的:

(1)多边形边表桶结构

(2)扫描线Y=2时的有效边表(10分)

P0

32

1456123456

P1

P2P3P4—5

—四、编程题(

共20分)

1、试编写函数

lineClip(int&x0,int&y0,int&x1,int&y1,intxl,intyb,

intxr,intyt);实现直线的编码裁剪。其中

x0,y0,x1,y1为直线端点处坐标,

xl,yb,xr,yt定义了裁剪窗口。

(10分)—6

—2、试编写程序函数

drawBSpline(Point*pts,intn);实现三次B样条曲线绘制,

其中

pts为控制点数组,

n为控制点个数,顶点结构体定义如下:

typedefstruct_Point{

intx,y;—7—}Point;

另设直线绘制函数为

drawLine(intx0,inty0,intx1,inty1);(10分)—8