计算机图形学例题习题.docx

上传人:b****6 文档编号:5871790 上传时间:2023-01-01 格式:DOCX 页数:30 大小:292.72KB
下载 相关 举报
计算机图形学例题习题.docx_第1页
第1页 / 共30页
计算机图形学例题习题.docx_第2页
第2页 / 共30页
计算机图形学例题习题.docx_第3页
第3页 / 共30页
计算机图形学例题习题.docx_第4页
第4页 / 共30页
计算机图形学例题习题.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

计算机图形学例题习题.docx

《计算机图形学例题习题.docx》由会员分享,可在线阅读,更多相关《计算机图形学例题习题.docx(30页珍藏版)》请在冰豆网上搜索。

计算机图形学例题习题.docx

计算机图形学例题习题

探<习题一>

1.1名词解释:

图形、图像、点阵法、参数法。

1.2图形包括哪两方面的要素?

在计算机中如何表示它们?

1.3什么叫计算机图形学?

分析计算机图形学、数字图像

处理和计算机视觉学科间的关系。

1.4有关计算机图形学的软件标准有哪些?

1.5试从科学发展历史的角度分析计算机图形学以及硬设备的发展过程。

1.6试发挥你的想象力,举例说明计算机图形学有哪些应用范围,解决的问题是什么?

1.7一个交互性计算机图形系统必须具有哪几种功能?

5

探<习题二>

2.1名词解释:

随机扫描、光栅扫描、图形显示子系统、像素点、光点、屏幕分辨率、显示分辨率、存储分辨率、组合像素法、颜色位面法、位平面、颜色查找表。

2.2试列举出你所知道的图形输入与输出设备。

2.3阴极射线管由哪几部分组成?

它们的功能分别是什

么?

2.4简述什么叫桶形失真?

如何校正?

2.5简述荫罩式彩色阴极射线管的结构和工作原理。

2.6比较荫罩式彩色阴极射线管和穿透式彩色阴极射线管的异同。

2.7简述黑底荫罩式彩色阴极射线管的结构和特点。

2.8简述光栅扫描图形显示器的工作逻辑

2.9基于光栅扫描的图形显示子系统由哪几个逻辑部件组成?

它们的功能分别是什么?

2.10什么是像素点?

什么是显示器的分辨率?

2.11某些显示卡为什么要采用颜色查找表?

采用颜色查找表的系统的工作原理是什么?

2.12确定用你的系统中的视频显示器x和y方向的分辨率,确定其纵横比,并说明你的系统怎样保持图形对象的相对比例。

2.13如何根据显示器的指标计算显示存储器的容量。

2.14图形的硬拷贝设备有哪些,简述其各自的特点。

5

探<习题三>

3.1名词解释(可用图示):

回显、约束、网格、引力域、橡皮筋技术、草拟技术、拖动、旋转、形变。

3.2什么是用户模型,设计一个好的用户接口要涉及到哪

3.3GKS的有哪六种逻辑输入设备,试评价这六种逻辑分类方法。

3.4举例说明什么是请求方式、取样方式、事件方式及其组合形式。

5

探<习题四>

4.1名词解释:

造型技术、规则对象、不规则对象、几何造型、几何模型、图元、图素、体素、段、图形信息、非图形信息、几何信息、拓扑信息、冈H体运动、拓扑运动、拓扑等价、建模坐标系、用户坐标系、观察坐标系、规格化设备坐标系、设备坐标系。

4.2欧氏空间中的几何元素包含那些内容,如何表示。

4.3试比较线框模型和实体模型的优缺点

4.5

简述如何利用CSG树来表示三维形体。

4.6

举例说明如何用四叉树表示二维形体。

4.7

图形系统中为什么要建立图形对象的层次结构

探<习题五>

5.1名词解释:

扫描转换、八分法画圆、多边形的顶点表示、多边形的点阵表示、字库、矢量字符、点阵字符、区域填充、边界填充、4-邻接点、8-邻接点、4-连通区域、8-连通区域、方刷子、线刷子、走样、反走样。

5.2试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的直线段。

(要求写清原理、误差函数、递推公式及最终画图过程)

5.3试用改进的Bresenham算法画直线段的原理推导斜率为负且小于1的直线段。

(要求写清原理、误差函数、递推公式及最终画图过程)

5.4利用中点Bresenham画圆算法的原理推导第一象限x=y到y=0圆弧段的扫描转换算法。

(要求写清原理、误差函数、递推公式及最终画图过程)

5.5利用x-扫描转换算法进行多边形填充时,指出下图中顶点的交数。

5.6如下图所示多边形,若采用扫描转换算法(ET边表算法)进行填充,试写出该多边形的ET表和当扫描线丫=4时的有效

5.7简述边缘填充算法,图示其填充过程。

5.8简述栅栏填充算法,图示其填充过程。

5.9简述边标志算法,图示其填充过程。

5.10比较边界填充算法和泛填充算法的异同。

5.11构造例子说明区域填充算法中找相邻点时用4-连通

性来检测可能对有些图形无法填充。

5.12构造两个例子,一个是4-连通图,其边界是8-连通的,另一个8-连通图,其边界是4-连通的。

5.13多边形填充算法中如何进行内外测试,图示奇偶规则和非零环绕数规则进行内外测试的不同。

5.14试比较直线线宽的几种处理方式。

5.15试比较区域填充图案的两种对齐方式。

5.16常用的反走样方法有哪些?

各有什么特点?

探<习题六>

6.1名词解释:

齐次坐标、规范化齐次坐标、图形的几何变换、光栅变换、仿射变换、窗口、视区、二维观察流程、变焦距效果、整体放缩效果、串精度裁剪、字符精度裁剪、笔划(像素)精度裁剪、外部裁剪。

6.2已知二维变换矩阵,如果对二维图形各点坐标进行

变换,试说明矩阵T2D中各元素在变换中的具体作用

6.3试证明下列操作序列的变换矩阵的乘积满足交换律:

(1)两个连续的旋转变换;

(2)两个连续的平移变换;

(3)两个连续的比例变换;

(4)一个均匀比例(Sx=Sy)和一个旋转;

(5)—个绕原点的旋转变换和一个对称于x轴的对称变换。

6.4试证明相对原点的旋转变换可以等价为一个比例变换和一个错切变换的复合变换。

6.5如下图所示四边形ABCD求绕P(5,4)点分别旋转

45°和90°的变换矩阵,并求出各端点坐标,画出变换后的图形

6.6试分析二维观察的变换流程,要求用矩阵形式写出变换的具体过程。

6.7试用编码裁剪算法裁剪如下图所示线段

6.8试用Liang-Barsky算法裁剪如上图所示线段

6.9试用Sutherland-Hodgeman算法对如下图所示多边形进行裁剪,要求画出每次裁剪对应的图形,并标明输入和输出的顶点。

6.10试用Weiler-Atherton算法对如上图所示多边形进

行裁剪,要求画出每次裁剪对应的图形,并标明输入和输出的顶点。

5

探<习题七>

7.1名词解释:

平面几何投影、观察投影、平行投影、透视投影、正投影、斜投影、一点透视、二点透视、三点透视、观察空间、规范化观察空间

7.2试说明什么是投影变换,给出其分类图。

7.3求将下图中的空间四面体关于P(2,-2,2)点整体放大两倍的变换矩阵,写出复合变换后图形各顶点的规范化齐次坐标。

D⑵2,2)

7.4试作出上图所示的空间四面体的三视图,要求写清变

换式(设平移矢量均为1)。

7.5假定一空间直线AB的两个端点坐标为A(0,0,0),B(2,2,2),试写出绕AB旋转30°的三维复合变换矩阵。

7.6试推导正轴测图的投影变换矩阵。

7.7什么是观察坐标系,为什么要建立观察坐标系。

7.8试在OpenG中绘制太阳、地球和月亮的运动模型。

7.9在OpenGL中创建一个球体动画,使球体在窗口内做自由落体运动,并在撞击地面(窗口的下边界)后能够弹回原来的高度。

7.10利用OpenGL中的多视区,分别在4个视区内显示如题7.3图中所示空间四面体的透视投影图、主视图、俯视图和侧视图。

探<习题八>

8.1名词解释:

曲线的拟合、曲线的逼近、曲线的插值、控制多边形、参数连续性、几何连续性、几何不变性、变差减少性、凸包性、对称性、局部支柱性、凸组合性。

8.2用参数方程形式描述曲线曲面有什么优点?

8.3写出样条参数多项式曲线的数学表达形式,并说明什

么是基函数。

8.4编程实现交互式地绘制三次Hermite样条曲线

8.5编制程序分别实现交互式地绘制二次均匀B样条曲

线、二次周期性B样条曲线、开放均匀二次B样条曲线、非均匀二次B样条曲线,验证B样条的局部支柱性、凸组合性、连续性等性质。

8.6编程实现交互式地绘制二次NURB曲线,与双曲线、抛物线等各类二次曲线进行对比分析。

8.7试分析为什么目前NURB曲线曲面得到了广泛地应用和重视,它们有什么缺陷吗?

5

探<习题九>

9.1参照有效边表算法设计一个扫描线Z-buffer算法,要求写出各表的数据结构和算法步骤。

9.2举例说明消隐算法中可以采样哪些技术以提高效率。

9.3区间扫描线算法的基本原理是什么?

如何处理多边形贯穿的情况?

9.4编制程序实现深度排序算法。

9.5有哪些手段可以实现区域细分,试设计其算法步骤。

5

探<习题十>

10.1在计算机中实现真实感图形绘制必须包含哪些步骤,各步骤解决什么样的问题?

10.2在简单光照模型的实现程序中加入光强衰减和颜色模型,说明出现哪些变化。

10.3编制程序分别利用Gouraud明暗处理模型和Phong明暗处理模型实现一个简单多面体(如四面体)的绘制,并比较两种方法的优劣。

10.4编制OpenGl程序,显示包含一个球面和正四面体,使用具有衰减的聚光灯进行光照,球面和正四面体具有不同的材

质。

分别调整球面和正四面体的材质属性,以及聚光灯的衰减系数(包括沿光线路径和聚光灯光锥体内的衰减),观察显示结果。

10.5纹理处理有哪几种方式,各有什么特点?

10.6整体光照模型较之简单光照模型增加考虑了哪些因素?

为什么?

探<5.2>

5.2试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的

直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。

分析:

这是典型的算法推导题,推导时需要首先确定最大位移方向,然后根据最大位移方向确定候选点,并利用候选点的中点构造判别式;根据判别式确定选择候选点的条件,然后确定判别式的递推公式以及初值。

解:

故有

>1y为最大位移方向

构造判别式:

衣—一+1)

=十]__0.5)—占

推导d各种情况的方法(设理想直线与y=yi+l的交点为Q):

所以有:

yQ~k^Q—i=0且y—yQ

/=_滋皿—b——Icxq—b)——

所以,当(注意这里的判断方法}

d>0时「k

d<0时『k<0:

屯>gM点在Q点左侧『取耳+1)

d=0时,M点与Q点重合,约定取尺伉,川十1)

所以有

(rf>0)

(rf<0)

兀+1=月十1

递推公式的推导:

4

心=/(^-15>”+2)

当d>0时,=X+2-k(x,-1^5)-b增量为1+k=£+1+k

心二/(兀-Og+2)

当£兰0时,二”+2-狀石一0二)一方增量为1

二£+1

心=/(-^o-儿+1)二妁+1-疋(况-0-5)-b

—j/q——b+1+0.5上=1+0*5十

探<5.4>

5.4利用中点Bresenham画圆算法的原理推导第一象限x=y到y=0圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式及最终画图过程)

I

I"

J

1

■\

r

f

TT

r

『*

r

Pl-

LI■

Pr

1

j"

J”

j

1

k4

F

分析:

这是典型的算法推导题,推导时需要首先确定最大位移方向,然后根据最大位移方向确定候选点,并利用候选点的中点构造判别式;根据判别式确定选择候选点的条件,然后确定判别式的递推公式以及初值。

圆算法应该注

意的是算法是从理想圆与坐标轴交点开始的。

解:

在x=y到y=0的圆弧中,(R,0)点比在圆弧上,算法从该点开始。

最大位移方向为丫,由(R,0)点开始,y渐增,x渐减,每次y方向加1,x方向减1或减0。

(注意算法的起始点)

设P点坐标(xi,yi),下一个候选点为Pr(xi,yi+1)和PI(xi—1,yi+1),取PI和Pr的中点M(xi—0.5,yi+1),设理想圆与y=yi+1的交点Q,构造判别式:

d=F(xM,yM)=(x—0.5)2+(y+1)2—R2

当d<0时,M在Q点左方,取Pr(xi,yi+1);

d>0时,M在Q点右方,取PI(xi—1,yi+1);

d=0时,M与Q点重合,约定取PI(xi—1,yi+1)。

'+1

所以新\x

M1X、(^<0)

推导判别式:

d^0时,取Pl(xi-l,yi+“下一点为(xi-lTyi+2)和G心=尸(无-L5小十2)

=(xi-1•疔十(儿十2),-R2

-(xt-0-5)3一2(Xj-0.5)-1-1+(yy+1)3+2(必+1)+1

=ci、—5

rf<0时,取Pr(xiji十1),下一点为gyi十2)和(xi-lFyi

=F(看-Od」+2)

=(看-0-5)2十(兀+2)2—R2

-(石-心尸+(戸十1尸十2仙+1)+1

二坊十2”+3

扭口=F{R-Q.5,l)^R2-R+625+1—丘2=1,25—R

5

探<5.6>

5.6如图所示多边形,若米用扫描转换算法(ET边表算法)进行填充,试写出该多边形的ET表和当扫描线丫二4时的有效边表(AET表,活性边表)。

分析:

改进的有效边表算法是用软件方法实现扫描转换效率较高的算法,它利用了边表来构造有效边表。

需要注意的有以下几点:

(1)构造边表时,水平边不需要构造,算法能够获取到水平边的两个端点,配对填充后水平边被填充,因此水平边的数据不参与计算。

(2)边表中纵向链表的长度等于多边形覆盖的扫描线数,并且是从多边形覆盖的最低扫描线处开始。

(3)边表与有效边表中每个结点的第三项为1/k;

(4)构造有效边表时,每个结点的第一项,即当前扫描线与多边形边交点处的x坐标不需要四舍五入,否则在计算下一条扫描线时可能会造成误差。

解:

ET表

y=4时的AET表

5探<5.12>

5.12构造两个例子,一个是4—连通图,其边界是8—连通的,另一个是8—连通图,其边界是4—连通的。

分析:

由于八邻接点中包含四邻接点,所以四连通区域也可以看作八连通区域,但是四连通区域与八连通区域的边界条件是不同的,通常在边界表示的

区域中,四连通区域边界(内环和外环边界)的连通性是八连通,而八连通区域边界(内环和外环边界)的连通性是四连通。

在一些特殊的情况下一个区域的连通性可能既是四连通也是八连通,例如内点表示的四连通区域(内点表示没有显示的边界),或者将边界表示的四连通区域的所有边界(内环和外环边界)都改为四连通性质。

解:

探<6.5>

6.5如图所示四边形ABCD求绕P(5,4)点分别旋转45°的变换矩阵,并求出各端点坐标,画出变换后的图形。

分析:

对于变换的计算,重点在于分析变换的过程。

一般来说,基于点的变换是将图形与点一起平移使点与原点重合,然后相对于原点变换,最后将点与图形一起平移使点回到原来的位置。

解:

变换的过程包括:

(1)平移:

将P点平移至原点,变换矩阵为:

10

Tt=010

-5-41

(2)旋转:

图形绕原点(P点)旋转45度,变换矩阵为:

ros45°

sin45&

0_

一sin4亍

cos45°

0

0

0

1

(3)反平移:

将P点移回原处,变换矩阵为:

100_T;{=010

541

变换矩阵为:

1

0

0"

cos45*

sin45°

0_

1

0

0_

T=T严jT;'=

0

1

0

-虹n4亍

cos45°

0

0

1

0

-5

-4

1

10

0

1

5

4

1

V2/2V2/20

-冋241/10

5-V2/24-9V2/21

变换过程为:

5+^24-2^21

5+3-?

2/24+V2/21

5-a/2/24+571/21

5-2^24-2^21

探<6.7>

6.7试用编码裁剪算法裁剪如图所示线段AB

分析:

编码裁剪法的特点是能够快速的接受和拒绝可见和不可见的直线段,但是其求交的过程相对复杂。

解:

1)首先对AB进行编码,A的编码codel为1010,B的编码code2为0101;由于code1|code2工0,且codel&code2=0,因此对直线段AB既不能简取也不能简弃。

(2)求交处理。

A的编码为1010,右起第二位编码不为0,故求出直线段AB与窗口右边界的交点C(2,11/5);

C的编码为1000,由于该编码不为0,所以求出的交点为虚交点,继续求交。

C点编码的最高位不为0,故求直线段AB与上边界的交点D(7/4,2),其编码为0000,此时AD必在窗口外,可以用D点的坐标和编码代替A点的坐标和编码,code1=0000。

由于code1|code2工0,且code1&code2=0,直线段A(D)B仍然不能简取也不能简弃。

(3)求交处理。

A(D点)的编码为0000,交换code1与code2的值以及AB点的坐标值保证起点在窗口外,此时code仁0101,code2=0000;

由于code仁0101,右起第一位编码不为0,故求出直线段A(B)B(D)与窗口左边界的交点E(0,3/5);E点的编码为0000,此时EA(B)必在窗口外,可简弃。

用E点坐标和编码代替A(B)点坐标和编码;

由于code1|code2=0,直线段A(E)B(C)简取。

探<6.8>

6.8用梁友栋算法裁剪如图所示线段AB

A(3,3)

2

/

/

2

B(-2,-1)

7A

分析:

梁友栋算法是参数法裁剪在标准窗口下的特例,只要按照公式,先构造直线的参数方程,然后计算p,q,u值,最后求出umax和umin值,再代入到参数方程,求出直线段裁剪结果的边界坐标。

解:

以A(3,3)为起点,B(—2,—1)为终点(这里起点和终点可以互换,但这样直线的参数方程将会改变)。

所以有x仁3,y仁3,x2=—2,y2=—1,wxl=O,wxr=2,wyb=O,wyt=2构造直线参数方程:

y=”+心-y{)

Jx=3-5«

y=3-4m

(0

/<1)

(0

 

计算各个p和q值有:

Fi=-^2=5

P2=x2-x}=-5

P厂X-y厂4刃=%一X=一4

务二;V]—yvxl=3q2=yvxr-xx--1

=y[-y^yb=3务=wyt-^=-1

根据uk二qJPk$有

吗=3/5=1/5吗二3/4=1/4

二=MAX(O.u2.uA)=MAX(O.^^)=1%二MINgM二顾(%,%\1)二%

由于umaxvumin故此直线AB有一部分在裁减窗口内,将umax和umin代入直线参数方程,得到直线在窗口内部分的端点C(7/4,2)和D(0,3/5)。

5

探<6.9>

6.9试用Sutherland-Hodgeman算法对如下图所示多边形进行裁剪,要求画出每次裁剪对应的图形,并标明输入和输出的顶点。

分析:

Sutherland-Hodgeman算法是按照规定的策略,在每条边界裁剪的时候,输出顶点序列。

注意裁剪时使用的交点是窗口边界及其延长线与多边形边的交点。

解:

D

D

B

(1)用左边界裁剪输入:

ABCDE输出:

BCD12A

(2)用下边界蔽

输入BCD12Z输出:

56D1234

345

34

(3)用右边界裁剪

输入:

56D1234B输出:

D1234B7

(4>用下边界裁剪

输入:

D1234B7

输出£91234B78

5探<6.10>

6.10试用Weiler-Atherton算法对如下图所示多边形进行裁剪,要求画

出每次裁剪对应的图形,并标明输入和输出的顶点。

分析:

Weiler-Atherton算法是沿着窗口边界和多边形边界裁剪,处理时可以先利用直线段裁剪算法用窗口边界裁剪多边形的边,如果遇到由窗口内到

窗口外的情况则需要用对应交点所在的窗口边界与多边形所有的边求交,求出实

交点后排序,根据裁剪的方向求得所要的点,如果没有则需要输出一段窗口边界,然后用下一条边界继续求交,直到找到所要的点为止。

但多边形所有的边处理完以后,则根据输出的直线段端点连接成一个或者多个多边形。

解:

如下图所示,输入顶点序列ABCDE逆时针处理多边形,此时沿窗口边界处理的顺序也是逆时针。

(1)输入AB,由不可见侧进入可见侧,输出直线段IB;

(2)输入BC由可见侧进入不可见侧,输出直线段BJ,并从J点沿窗口逆时针找到距离最近的交点L,输出直线段JK和KL;

(3)输出CD由不可见侧进入不可见侧,不输出;

(4)输出DE由不可见侧进入可见侧再进入不可见侧,输出直线段LF,并从F点沿窗口逆时针找到距离最近的交点G输出直线段FG

(5)输出EA由不可见侧进入可见侧再进入不可见侧,输出直线段GH并从H点沿窗口逆时针找到距离最近的交点I,输出直线段HI;

探<7.3>

7.3求将下图中的空间四面体关于P(2,-2,2)点整体放大两倍的变换矩阵,写出复合变换后图形各顶点的规范化齐次坐标。

分析:

三维变换的过程与二维变换的过程类似。

可以先将

P点平移至原点,再进行比例变

■1

0

0

0"

1

0

0

0"

1

0

0

CT

_1

0

0

0■

0

1

0

0

0

1

0

0

0

1

0

0

0

1

0

0

0

0

1

0

■■

0

0

1

0

<■

0

0

1

0

0

0

1

0

[-2

2

-2

1

0

0

0

1/2

2

-2

2

1

-1

1

-1

1/2_

0

T=

变换过程为:

解:

关于P点整体放大两倍,换,最后反平移

变换矩阵为:

P'=P-T=

0

0

2

2

0

2

1

1

-1

1/2

1

3

-1

1/2

-1

3

-1

1/2

1

3

1

1/2

1/2

分别为:

1),(2,6,2,1)

所以变换后各点的规范化齐次坐标(注意要转换成规范化齐次坐标)

(2,2,-2,1),(2,6,-2,1),(-2,6,

注意,本题中的比例变换矩阵也可写为

 

2

2Pf=PT=

0

2

001

201

201

222

2

0

0

-2

0

2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电子电路

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1