好文档 - 专业文书写作范文服务资料分享网站

计算机图形学 复习题

天下 分享 时间: 加入收藏 我要投稿 点赞

.

位于多边形外,且两者间隔排列。边的连贯性:相邻两条扫描线与多边形的的同一条边相交,其交点可按递增一个常量来计算,如:x2=x1+1,则y2=y1+1/k (k为该多边形边的斜率)。

9、简述Bezier曲线的不足之处。

答:当Bezier曲线的n次多项式逼近方法中当n较大时,计算量也就迅速增大,而且计算结果也不稳定。同时,其特征多边形的顶点离开得很远,造型时不利于精确控制。若是采用插值形式,除了计算量更加庞大以外,曲线的保形性也难以保证。

10、建立图形软件可采用哪三种方法?

(1)图形程序包 (2)修改高级语言 (3)专用高级图形语言

11、在观察空间中,如何确定投影的类型和方向?

投影类型由参数pt可以确定,如果是透视投影,则投影中心就是投影参考点PRP;如果是平行投影,投影方向是从投影参考点PRP指向窗口中心CW。其中,投影参考点PRP是观察坐标系中的三维点。

12、简述编码裁剪法(即Cohen-Sutherland线段裁剪法)的算法过程。

由Dan Cohen和Ivan Sutherland提出的区域编码判断方法,采用四位数码来标识线段的端点与窗口区域的关系,然后:

(1)检查线段P1P2是否为完全可见,或完全不可见,对于这两种情况或完全取之,或完全弃之,否则 “2”。

(2)找到P1P2在窗口外的一个端点P1(或P2); (3)用窗口的边与P1P2的交点取代端点P1(或P2);

(4)P1P2线段是否完全可见,若是,则结束,否则转到“2“继续执行。

三、应用题

1、分析边标志算法的实现过程,并写出其算法的C语言描述。

答:边标志算法可以克服象素被重复访问这一缺点。其实现过程分为两步:1)勾画轮廓线,在每条扫描线上建立各区段的边界象素对;2)填充这些边界象素之间的全部象素。

算法的C语言描述如下:

# define FALSE 0 edgefill(Polydef) {

对多边形每条边转换; inside=FALSE;

for(每条与多边形Polydef相交的扫描线) for(扫描线上每个象素点)

{ if(象素点被打上边标志) inside=!(inside); if (inside!=FALSE) putpixel(x,y,color);

else putpixel (x,y,bcolor); } }

.

.

2、简述深度缓存算法及其特点。 答:深度缓存算法是一种典型的、也是最简单的图象空间的消隐算法。在屏幕空间坐标系中, 轴为观察方向,通过比较平行于 轴的射线与物体表面交点的 值(又称为深度值),用深度缓存数组记录下最小的 值,并将对应点的颜色存入显示器的帧缓存。 深度缓存算法最大的优点是简单。它在 、 、 方向上都没有进行任何排序,也没有利用任何相关性。算法复杂性正比于 。在屏幕大小,即 一定的情况下,算法的计算量只与多边形个数 成正比。

另一个优点是算法便于硬件实现,并可以并行化。

3、假设在观察坐标系下窗口区的左下角坐标为(wxl=10,wyb=10),右上角坐标为(wxr=50,wyt=50)。设备坐标系中视区的左下角坐标为(vxl=10,vyb=30), 右上角坐标为(vxr=50,vyt=90)。已知在窗口内有一点p(20,30),要将点p映射 到视区内的点p`,请问p`点在设备坐标系中的坐标是多少?(本题10分) 解:○1将窗口左下角点(10,10)平移至观察坐标系的坐标原点,平移矢量为(-10,-10)。 ○2针对坐标原点进行比例变换,使窗口的大小和视区相等。比例因子为: Sx=(50-10)/(50-10)=1; Sy=(90-30)/(50-10)=1.5。 ○3将窗口内的点映射到设备坐标系的视区中,再进行反平移,将视区的左下角点移回到设备坐标系中原来的位置(10,30),平移矢量为(10,30)。

T?T1?T2?10?1p`?[x y 1]?[x y 1].?0?0?[20 60 1]?1??0??10011??001??103000??101.50??[20 30 1].?01.5151??0150??100??10???01.50???0010??100?0??01.50??1??0151?0?0?1?

p`点在设备坐标系中的坐标是(20,60)。

4、如下表是采用DDA算法画出(0,0)到(5,2)的直线的数据,请填写空格处。

i 1 2 3 4 5 6 解:

i 1 .

xi 0 1 2 3 4 5 yi 0 2 yi+0.5 0.5 2.5 int(yi+0.5) 0 2 xi 0 yi 0 yi+0.5 0.5 int(yi+0.5) 0 .

2 3 4 5 6 1 2 3 4 5 0.4 0.8 1.2 1.6 2 0.9 1.3 1.7 2.1 2.5 0 1 1 2 2

5、已知三角形ABC各顶点的坐标A(1,2)、B(5,2)、C(3,5),相对直线Y=4做对称变换后到达A’、B’、C’。

试计算A’、B’、C’的坐标值。(要求用齐次坐标进行变换,列出变换矩阵) 解:

(1)将坐标系平移至P1 (0,4)点

?100???TA??010???0?41?? (2) 以X轴对称

?100???TB??0?10???001?? (3)将坐标系平移回原处

?100???TC??010???041??

?100????0?10???081??

(4) 变换矩阵:T=TA*TB*TC=

(5) 求变换后的三角形ABC各顶点的坐标A’、B’、C’

?X'AA’:

Y'A?100???1???121??T??121???0?10???161???081??

XA'=1, Y A'=6

?X'BB’:

YB1???5?100???21??T??521???0?10???561???081??

XB'=5, Y B'=6

?X'CC’:

Y'C?100???1???351??T??351???0?10???331???081??

XA'=3, Y A'=3

6、试对下图中的多边形进行裁剪,用图表示裁剪过程。

.

.

依次用窗口的左、上、右、下四条边界进行裁剪:

7、计算机图形系统包含哪些外部设备? 图形输入设备:概念、特点 图形显示设备:概念、结构原理、工作方式、特点 图形绘制设备:概念、特点

8、简述消隐算法的分类。

答:1.物体空间的消隐算法:物体空间是物体所在的空间,即规范化投影空间。这类算法是将物体表面上的

个多边形中的每一个面与其余的

个象素点,物体

个面进行比较,精确求出物体

上每条边或每个面的遮挡关系。计算量正比于

2.图象空间的消隐算法:图象空间就是屏幕坐标空间,这类算法对屏幕的每一象素进行判断,以决定物体上哪个多边形在该象素点上是可见的。若屏幕上有 表面上有

个多边形,在该类消隐算法计算量正比于

9、设窗口左下角点坐标为(XW1,YW1),宽为LW,高为HW,视区左下角点坐标为(XV1,YV1),宽为LV,高为HV,已知窗口中有一点A(XA,YA),在视区中对应的坐标为A’(X’A,Y’A)。试计算A’的坐标值。(要求用齐次坐标进行变换,列出变换矩阵,列出计算式子,不要求计算结果)

A θo (XW1,YW1)

(XV1,YV1)

.

.

?1TA???0???XW1解:1)将坐标系平移至(XW1,YW1)点:

01?YW10?0??1??

?Lv?L?w?TB??0??0?? 2)作比例变换:

0HvHw0?0???0??1???

01?YV10?0??1??

?1Tc???0???XV1 3)将坐标系平移至视区左下角(XV1,YV1):?cos?TD????sin???0 4)旋转视区θ度:

sin?cos?00?0??1??

5)变换矩阵为:T=TA*TB*TC*TD

?'???'XY1?XY1?TAAAA??????? 6)求变换后的Aˊ点:?

10、采用扫描线算法对多边形进行填充,请写出EL、AEL的结构,并分析扫描线算法的步骤和处理扫描线的步骤。

答: 活化边AET:指与当前扫描线相交的多边形的边,也称为活性边。 Ymax X △X(即1/k)

边的分类表ET:把有效边按与扫描线交点x坐标递增的顺序存放在一个链表中,此链表称为有效边表。

有效边表的每个结点: Ymax X 1/k next 算法步骤:

(1)确定多边形所占有的最大扫描线数,得到多边形顶点的最小和最大y值(ymin和ymax)。 (2)从y=ymin到y=ymax,每次用一条扫描线进行填充。 (3)对一条扫描线填充的过程可分为四个步骤: a.求交 b.排序 c.交点配对 d.区间填色

11、

解:堆栈变化过程如下:

.

计算机图形学 复习题

.位于多边形外,且两者间隔排列。边的连贯性:相邻两条扫描线与多边形的的同一条边相交,其交点可按递增一个常量来计算,如:x2=x1+1,则y2=y1+1/k(k为该多边形边的斜率)。9、简述Bezier曲线的不足之处。答:当Bezier曲线的n次多项式逼近方
推荐度:
点击下载文档文档为doc格式
7d8yd9e9535dq8n1sig30fluh9bohz00um6
领取福利

微信扫码领取福利

微信扫码分享