一、名词解释:
1、计算机图形学:用计算机建立、存储、处理某个对象的模型,并根据模型产生该对象图形输出的有关理论、方法
与技术,称为计算机图形学。
2、计算机图形标准:计算机图形标准是指图形系统及其相关应用程序中各界面之间进行数据传送和通信的接口标准。
3、图形消隐:计算机为了反映真实的图形,把隐藏的部分从图中消除。
4、几何变换:几何变换的基本方法是把变换矩阵作为一个算子,作用到图形一系列顶点的位置矢量,从而得到这些
顶点在几何变换后的新的顶点序列,连接新的顶点序列即可得到变换后的图形。
5、计算几何:计算几何研究几何模型和数据处理的学科,讨论几何形体的计算机表示、分析和综合,研究如何方便
灵活、有效地建立几何形体的数学模型以及在计算机中更好地存贮和管理这些模型数据。
6、裁剪:识别图形在指定区域内和区域外的部分的过程称为裁剪算法,简称裁剪。
7、透视投影:空间任意一点的透视投影是投影中心与空间点构成的投影线与投影平面的交点。
8、投影变换:把三维物体变为二维图形表示的变换称为投影变换。
9、走样:在光栅显示器上绘制非水平且非垂直的直线或多边形边界时,或多或少会呈现锯齿状。这是由于直线或多
边形边界在光栅显示器的对应图形都是由一系列相同亮度的离散像素构成的。这种用离散量表示连续量引起的失真,
称为走样(aliasing)。
10、反走样:用于减少和消除用离散量表示连续量引起的失真效果的技术,称为反走样。
11、窗口:世界坐标的范围是无限大的。为了使规格化设备坐标上所显示的世界坐标系中的物体有一个合适的范围与
大小,必须首先对世界坐标系指定显示范围,它通常是一个矩形,这个矩形被称为窗口。
12、视区:在规格化设备坐标系上也要指定一个矩形区域与窗口对应,显示窗口里的内容,这个矩形被称为视区。
13、坐标系统:为了描述、分析、度量几何物体的大小、形状、位置、方向以及相互之间的各种关系使用的参考框架
叫做坐标系统。
14、刷新:荧光的亮度随着时间按指数衰减,整个画面必须在每一秒内重复显示许多次,人们才能看到一个稳定而不
闪烁的图形,这叫屏幕的刷新。
15、用户坐标系:用户坐标系用户为处理自已的图形时所采用的坐标系,单位由用户自己决定。
16、规范化设备坐标系:将各个设备坐标系中的数据化为统一的数据范围从而得到的设备坐标系。
17、规格化变换:图形软件根据窗口与视区的一一对应关系,自动实现从世界坐标到规格化设备坐标的转换,这种从
窗口到视区的变换,称为规格化变换。
18、屏幕坐标系统:屏幕坐标系统也称设备坐标系统,它主要用于某一特殊的计算机图形显示设备(如光栅显示器)的
表面的点的定义,在多数情况下,对于每一个具体的显示设备,都有一个单独的坐标系统,在定义了成像窗口的情况
下,可进一步在屏幕坐标系统中定义称为视图区的有界区域,视图区中的成像即为实际所观察到的图形对象。
19、观察坐标系:观察坐标系通常是以视点的位置为原点,通过用户指定的一个向上的观察向量来定义整个坐标系统,
缺省为左手坐标系,观察坐标系主要用于从观察者的角度对整个世界坐标系内的对象进行重新定位和描述,从而简化
几何物体在投影面的成像的数学推导和计算。
二、问答题:
1、简述光栅扫描式图形显示器的基本原理。
光栅扫描式图形显示器(简称光栅显示器)是画点设备,可看作是一个点阵单元发生器,并可控制每个点阵单元的亮度,
它不能直接从单元阵列中的—个可编地址的象素画一条直线到另一个可编地址的象素,只可能用尽可能靠近这条直线
路径的象素点集来近似地表示这条直线。光栅扫描式图形显示器中采用了帧缓存,帧缓存中的信息经过数字/模拟转
换,能在光栅显示器上产生图形。
2、分别写出平移、旋转以及缩放的变换矩阵。平移变换矩阵:
1
0
0
T
x
0
1
0
T
y
0
0
1
T
z
0
0
0
1
(2 分)
旋转变换矩阵:
绕 X 轴
1
0
0
0
0
cos
sin
0
0
sin
cos
0
0
0
0
1
绕 Z 轴
cos
sin
0
0
sin
cos
0
0
00
00
01
10
(2 分)
绕 Y 轴
cos
0
sin
0
0
1
0
0
sin
0
cos
0
(2 分)
0
0
0
1
(2 分)
缩放变换矩阵:
S
x
0
0
0
0
S
y
0
0
0
0
S
z
0
0
0
0
1
(2 分)
3、图形变换有什么特点?最基本的几何变换有哪些?
答:图形变换的特点:大多数几何变换(如平移、旋转和变比)是保持拓扑不变的,不改变图形的连接关系和平行关
系。对于线框图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,连接新的顶点序列即可产生新的变
换后的图形。对于用参数方程描述的图形,可以通过参数方程几何变换,实现对图形的变换(基于效率的考虑)。
最基本的几何变换有:平移、旋转、比例、错切、投影等。
4、常用的线段裁剪方法有几种?简述它们的优缺点。
答:常用的线段裁剪方法有三种,它们是:
(1)Cohen-SutherLand 裁剪算法;(2)中点分割算法;(3)参数化裁剪算法(Cyrus-Beck算法);
Cohen-SutherLand 裁剪算法与中点分割算法在区码测试阶段能以位运算方式高效率地进行,因而当大多数线段能够
简单地取舍时,效率较好。参数化裁剪算法(Cyrus-Beck算法)在多数线段需要进行裁剪时,效率更高。这是因为运
算只涉及到参数,仅到必要时才进行坐标计算。
5、简述帧缓存与显示器分辨率的关系。分辨率分别为 640×480,1280×1024 和 2560×2048 的显示器各需要多少字
节位平面数为 24 的帧缓存?
答:帧缓存的大小和显示器分辨率之间的关系是:帧缓存的大小=显示器分辨率的大小*帧缓存的位平面数/8。例如:
分辨率分别为 640*480 的显示器所需要的缓存的大小是:640*480*24/8=921600 字节;分辨率为 1280*1024 的显示器
所需要的缓存的大小是:1280*1024*24/8=3932160 字节;分辨率为 2560*2048 的显示器所需要的缓存的大小是:
2560*2048*24/3= 15728640 字节。
6、什么是图形扫描转换?
答:确定最佳逼近图形的象素集合,并用指定的颜色和灰度设置象素的过程称为图形的扫描转换或光栅化。对于一维
图形,在不考虑线宽时,用一个象素宽的直线或曲线来显示图形。二维图形的光栅化必须确定区域对应的象素集,将
各个象素设置成指定的颜色和灰度,也称之为区域填充。
7、为什么使用非均匀有理 B 样条?
答:非均匀 B 样条函数的节点参数沿参数轴的分布是不等距的,近年来,它得到了广泛的发展和应用,主要原因是:
(1)对标准的解析形状(如圆锥曲线,二次曲线,回转面等)和自由曲线,曲面提供了统一的数学表示,无论是解
析形状还是自由格式的形状均有统一的表示参数,便于工程数据库的存取和应用。
(2)可通过控制点和权因子来灵活的改变形状。
(3)对插入节点,修改,分割,几何插值等的处理工具比较有利。
(4)具有透视投影变换和仿射变换的不变性。
(5)非有理B样条,有理及非有理Bezier曲线,曲面是NURBS的特例表示。
8、简述非均匀有理 B 样条曲面(NURBS)的性质?
答:非均匀有理B 样条曲面(NURBS)的性质有:
a. 端点性质;b. 仿射不变性;c. 保凸性;d. 局部性:当Pi, j ,wi, j变化时,仅仅影响u[ui ,uip1) ×v[vj , v jl1)
矩形区域所对应的曲面部分;e. 非有理 B 样条和Bezier、有理Bezier 曲面是NURBS 曲面的特殊情况;f. 不具有变
差递减性。
三、论述题
1、论述圆的 Bresenham 算法的原理,方法和步骤。
Bresenham画圆算法是在每一步考察两个可能的像素点中哪一个更靠近理论圆周,从而推出沿圆周的整数位置。
基本思想:通过比较像素与圆的距离平方来避免开方运算。
基本方法:每一步都选择一个离开实际圆周最近的点Pi(xi,yi)使其误差项最小。
设圆之半径为r。先考虑圆心在(0,0),并从x=0,y=r开始的顺时针方向的1/8圆周的生成过程。在这种情况下,x每步
增加1,从x=0开始,到x=y结束。即有:
xi+1=xi+1
相应的yi+1则在两种可能中选择:
yi+1=yi,或者yi+1=yi-1
选择的原则是考察精确值y靠近yi还是靠近yi-1,计算式为:
y2=r2-(xi+1)2
d1=yi2-y2=yi2-r2+(xi +1)2
d2=y2-(yi-1)2=r2-(xi +1)2-(yi -1)2
令pi=d1-d2,并代入d1, d2,则有
pi=2(xi +1)2+ yi 2+( yi -1)2-2r2
(1)
pi称为误差。如果pi<0则yi+1=yi,否则yi+1= yi -1。pi的递归式为:
pi+1= pi+4xi+6+2(y2i+1- yi2)-2(yi+1- yi)
(2)
pi的初值由式(1)代入xi=0, yi =r而得
pi=3-2r
根据上面的推导,圆周生成算法步骤为:
1、求误差初值,pi=3-2r;i=1;画点(0, r);2、求下一个光栅位置:
xi+1= xi +1;
if pi<0 则yi+1=yi;
否则yi+1=yi-1;
3、画点(xi+1, yi+1)
4、计算下一个误差:
if pi<0 则pi+1=pi+4xi+6;
否则 pi+1=pi+4(xi-yi)+10;
5、i=i+1; if
虽然式(2)式表示 pi+1 的算法似乎很复杂,但因为 yi+1 只能取值 yi 或 yi-1,因此在算法中,第 4 步的算式变得很简单,
只须作加法和 4 的乘法。因此圆的 Bresenham 算法运行速度也是很快的,并适宜于硬件实现。
2、简述Bezier 曲线的性质?
答:Bezier 曲线P(t)具有以下性质:
(1)端点性质:
P(0)=P1;
P(1)=Pn
(2)端点切矢量:
P‘(0)=n(P1- P0);
P‘(1)=n(Pn- Pn-1)
x=y 则end;否则返2。
(3)
(3)端点的曲率:P(t)在两端点的曲率分别为:
这是因为
(4)对称性:
若保持原全部顶点的位置不变,只是把次序颠倒过来,则新的Bezier曲线形状不变,但方向相反。
(5)几何不变性
Bezier曲线的位置和形状只与特征多边形的顶点的位置有关,它不依赖坐标系的选择。
(6)凸包性
因为P(t)是多边形各顶点P1,P2, ,Pn的加权平均,而权因子0Bi,n(t) 1,这反映在几何图形上有两重含义:
a. Bezier曲线P(t)位于其控制顶点P1,P2, ,Pn的凸包之内;
b. Bezier 曲线P(t)随着其控制多边形的变化而变化;
(7)变差缩减性
对于平面 Bezier 曲线 P(t),平面内任意条直线与其交点的个数不多于该直线与其控制多边形的交点个数;
3、写出一次、二次、三次B 样条曲线的矩阵表示。
答:(1)一次B 样条曲线
设空间 P0,P1,…, Pn为n+1个控制点,其中每相邻两个点和构造出一段一次的样条函数。其中的第i 段一次B 样条函数
Pi(t)的矩阵表示为:
(2)二次B 样条曲线
设空间 P0 P1,…, Pn为n+1 个控制点,其中每相邻三个点和构造出一段二次的样条函数。其中的第i 段二次B 样条函数
Pi(t)的矩阵表示为:
端点位置矢量:
Pi,3(0)=(Pi+Pi-1)/2; Pi,3(1)=(Pi+Pi+1)/2
端点的一阶导数矢量:
P’i,3(0)= Pi-Pi-1;
P’i,3(1)= Pi+1-Pi ;
P’i,3(1)= P’i+1,3(0);
端点的二阶导数矢量:
P’i,3(t)= Pi-1-2Pi+ Pi+1;
曲线段的二阶导数矢量等于该曲线的两条边矢量Pi-1-Pi 和Pi+1-Pi 所构成的对角线矢量。
(3)三次B 样条曲线
设空间 P0 P1,…, Pn为n+1 个控制点,其中每相邻四个点和构造出一段三次的样条函数。其中的第i 段三次B 样条函数
Pi(t)的矩阵表示为:
4、用 Bresenham 算法生成直线段。
要求:根据已知条件,先列出计算式算出各点的坐标值,然后在下面的方格中标出各点(用“●”)。
已知:线段的起点(0,0),终点(-6,-4)
(
(
(
误差计算公式:
解:
y
x
|04|
06
4
6
1
x
1
x
x
i
i
)
1
1
2
y
x
(
)
2)
2
x
y
x
(
)
2)
x
y
i
i
X
方向计长
以
误差初值
)
i
)
x
(
(
x
i
0
0
k
走步数
6
1
是第三象限的线段
x
t
6
步共走
6
x
y
i
1
i
1
1
x
i
y
y
,
ri
,
ri
1
(
(
x
i
1
0
x
)
i
1
)
0
初值:
第二步:
第三步:
,0
i
i
第一步:
x
1
i
x
2
i
x
3
i
x
4
i
第五步:
x
第六步:
x
第四步:
5
i
6
2
2
0
1
x
取点(
)1,1(
取点
12
2
82
0
2
1
取点(
),
0
6
,0
,0
y
x
0
0
2
)
(
,1
x
y
1
,11
y
x
1
0
(
)
(
,2
x
x
1
2
,2
1
y
x
1
)
(
(
,3
x
x
3
,3
1
y
x
2
)
(
,4
(
x
x
4
,4
1
x
3
(
)
(
,5
x
x
5
,5
1
y
x
5
4
(
(
,6
x
x
,6
1
y
x
0,0
)
68
x
1
y
0
2
)
2
y
1
y
1
)
2
y
)2,3(
1
y
取点
2
2
8
12
0
2
)
2
y
3
4
1
,3
y
),
取点(
3
4
)
2
2
12
2
8
0
2
y
5
3
,3
y
),
取点(
4
)
6
2
0
8
2
y
1
4
y
,取点(
82
3
x
x
6
),
4
3
6
y
)
3
2
5
6
4
6
5
5
四、基本知识点
1、在图形文件系统中,点、线、圆等图形元素通常都用其几何特征参数来描述,在图形系统中,图形处理运算的精
度不取决于显示器的分辨率,在彩色图形显示器中,使用 RGB 颜色模型。计算机图形学以计算几何为理论基础。
2、深度缓存算法并不需要开辟一个与图像大小相等的深度缓存数组,深度缓存算法能并行实现,深度缓存算法中没
有对多边形进行排序。
3、计算机图形处理中,除了应用到各种算法外,还经常会处理大量的图形方面的数据,因而必须应用到数据库技术,
图形数据库设计的子库层次是一个简单的、具有普遍存储规则的许多物体的集合,图形数据库的设计一般有物体和子
库两个层次。
4、投影线从视点出发,主灭点最多有 3 个,任何一束不平行于投影面的平行线的透视投影将汇成一点。在平面几何
投影中,若投影中心移到距离投影面无穷远处,则成为平行投影。
5、实体模型和曲面造型是 CAD 系统中常用的主要造型方法,曲面造型是用参数曲面描述来表示一个复杂的物体,
从描述复杂性和形状灵活性考虑,最常用的参数曲面是 3 次有理多项式的曲面,在曲线和曲面定义时,使用的基函数
应有两个重要性质:凸包性和仿射不变性。
6、简单光反射模型,又称为 Phong 模型,它模拟物体表面对光的反射作用,简单光反射模型主要考虑物体表面对直
射光照的反射作用,在简单光反射模型中,对物体间的光反射作用,只用一个环境光变量做近似处理。
7、定义了物体的边界也就唯一的定义了物体的几何形状边界,物体的边界上的面是有界的,而且,面的边界应是闭
合的,物体的边界上的边可以是曲线,但在两端之间不允许曲线自相交。
8、透视投影的投影线从视点出发,主灭点最多有 3 个,任何一束不平行于投影面的平行线的透视投影将汇成一点。
9、图形数据按照目的不同一般可以分为图形的表示数据和图形的显示数据。
10、双线性法向插值法(Phong Shading)的优点是高光域准确。
11、画圆弧的算法有角度 DDA 法、逐点比较法、终点判断法、Bresenham 画圆法四种。
12、Z 缓冲器消隐算法是最简单的消除隐藏面算法之一。
13、若要对某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做比例或旋转变换,然后再
将原点平移回去。
14、在种子填充算法中所提到的八向连通区域算法同时可填充四向连通区。
15、多边形被两条扫描线分割成许多梯形,梯形的底边在扫描线上,腰在多边形的边上,并且相间排列,多边形与某
扫描线相交得到偶数个交点,这些交点间构成的线段分别在多边形内、外,并且相间排列,边的连贯性告诉我们,多
边形的某条边与当前扫描线相交时,很可能与下一条扫描线相交。
16、透视投影又可分为一点透视、二点透视、三点透视,斜投影又可分为斜等测、斜二测,正视图又可分为主视图、
侧视图、俯视图。
17、Bezier 曲线不一定通过其特征多边形的各个顶点,Bezier 曲线两端点处的切线方向必须与起特征折线集(多边形)
的相应两端线段走向一致,Bezier 曲线可用其特征多边形来定义。
18、扫描线算法对每个象素只访问一次,主要缺点是对各种表的维持和排序的耗费较大 ,边填充算法基本思想是对
于每一条扫描线与多边形的交点,将其右方象素取补,边填充算法较适合于帧缓冲存储器的图形系统。
19、深度缓冲器算法最简单常用的面向应用的用户接口形式:子程序库、专用语言和交互命令。图形用户界面的基本
元素有窗口、图标、菜单、指点装置。在计算机图形学中,被裁剪的对象可以是线段、多边形和字符三种形式。
20、扫描仪最重要的参数是光学精度和扫描精度。
5、已知图示三角形 ABC 各顶点的坐标 A(1,2)、B(5,2)、C(3,5),相对直线 X=4 作对称变换后,分别到达 A'、
B'、C'。
试计算 A'、B'、C'的坐标值。(要求用齐次坐标进行变换,列出变换矩阵。)
坐标系沿
X
方向平移,使
Y
轴与直线
X
4
重合;
‘
Y
轴作对称变换;
1
A
T
坐标系平移到(
0
1
0
相对新坐标系的
40
),
0
0
1
1
0
4
ABC
多边形
01
0
1
0
0
T
0
0
1
A
2
坐标平移回原位
0
0
1
1
0
4
0
1
0
1
1
A
T
变换矩阵
:
T
TTT
1
2
A
A
1
1
A
X
'
A
Y
'
A
1
1
2
1
X
’
A
7
,
Y
‘
A
2
X
'
B
Y
'
B
1
5
2
1
X
’
B
3
,
Y
‘
B
2
答:
X
'
C
Y
'
C
1
3
5
1
X
’
C
5
,
Y
‘
C
5
01
0
1
8
0
01
0
1
8
0
01
0
1
8
0
01
0
1
8
0
0
0
1
0
0
1
0
0
1
0
0
1
7
2
1
3
2
1
5
5
1