1、第一章 1简述随机扫描显示器和光栅扫描显示器的工作原理和特点。 随机扫描显示器 工作原理:从显示文件存储器中去处画线指令或显示字符指令、方式指令(如高度、线性等),送到显示控制器,由显示控制器控制电子束的偏转,轰击荧光屏上的荧光材料,从而产生一条发亮的图形轨迹。 特点:随机扫描显示器中电子束的定位和偏转具有随机性,在某一时刻,显示屏上只有一个光点发光,因而可以画出很细的图形。 光栅扫描显示器 工作原理:在这种显示器中,电子束的运动轨迹是固定的。即从左到右、自上而下扫描荧光屏,来产生一幅光栅。 特点:由于图形是以点阵的形式存储在帧缓冲器中。所以光栅扫描显示器的电子束按从上到下、从左
2、到右的顺序依次扫描屏幕,来建立图形。 2为什么要制定和采用计算机图形标准?经国际标准化组织批准的计算机图形标准软件有哪些? 为了提高计算机图形软件、计算机图形的应用软甲以及相关软件的编程人员在不同的计算机和图形设备之间的可移植性。 已获ISO批准的计算机图形标准软件有: 计算机图形核心系统(GKS)及其语言联编; 程序员层次交互式图形系统(PHIGS)及其语言联编; 三围图形核心系统(GKS-3D)及其语言联编; 计算机图形元文件(CGM); 计算机图形接口(CGI); 基本图形转换规范(IGES); 产品数据转换规范(STEP) 3计算及图形显示器和绘图设备表示
3、颜色时各使用什么颜色系统?它们之间的关系如何? 计算机图形显示器是用RGB方法表示颜色,而绘图设备是用CMY方法来表示颜色的。 它们之间的关系是:两者都是面向硬件的颜色系统,前者是增性原色系统,后者是减性原色系统,后者是通过在黑色里加入一种什么颜色来定义一种颜色,而后者是通过指定从白色里减去一种什么颜色来定义一种颜色。 4简述帧缓冲存储器与显示器分辨率的关系。分别率分别为640*480、1280*1024和2560*2048的显示器,各需要多少位平面数为24的帧缓冲存储器? 帧缓存的大小和显示器分辨率之间的关系是:帧缓存的大小=(显示器分辨率的大小*帧缓存的位平面数)/8。 64
4、0*480: (640*480*24)/8=921600 1280*1024: (1280*1024*24)/8=3932160 2560*2048: (2560*2048*24)/8=15728640 第二章 1DDA法生成直线的基本原理是什么? DDA算法主要是根据直线公式y = kx + b来推导出来的,其关键之处在于如何设定单位步进,即一个方向的步进为单位步进,另一个方向的步进必然是小于1。算法的具体思路如下: 1. 输入直线的起点、终点; 2. 计算x方向的间距:△X和y方向的间距:△Y。 3. 确定单位步进,取MaxSteps = max(△X,△Y
5、 若△X>=△Y,则X方向的步进为单位步进,X方向步进一个单位,Y方向步进△Y/MaxSteps;否则相反。 4. 设置第一个点的像素值 5. 令循环初始值为1,循环次数为MaxSteps,定义变量x,y,执行以下计算: a. x增加一个单位步进,y增加一个单位步进 b. 设置位置为(x,y)的像素值 2为什么说Bresenham画圆的算法效率比较高? Bresenham算法是DDA算法画线算法的一种改进算法。本质上它也是采取了步进的思想。不过它比DDA算法作了优化,避免了步进时浮点数运算,同时为选取符合直线方程的点提供了一个好思路。首先通过直线的斜率确定了在x方向进行单位
6、步进还是y方向进行单位步进:当斜率k的绝对值|k|<1时,在x方向进行单位步进;当斜率k的绝对值|k|>1时,在y方向进行单位步进。 3简述二维图形剪裁的基本原理及可选用的裁剪策略。 (1)直线的裁剪: 1、对直线两端点 p 1 , p 2 按各自所在的区域编码。p 1 和 p 2 的编码分别为 C 1 (p 1 )={a 1 , b 1 , c 1 , d 1 } ;C 2 (p 2 )={a 2 , b 2 , c 2 , d 2 };其中a i , b i , c i , d i 的值域为{1, 0}, i ∈{1, 2}; 2、IF (ai=bi=ci=di=0) 则显
7、示整条直线,取出下一条直线,返回步骤(1) ; 否则进入步骤(3) ; 3、IF |a1-a2|=1,则求直线与窗上边(y=Yw-max) 之交点,并删去交点以上部 分;IF |b1-b2|=1,则求直线与窗下边(y=Yw-min) 之交点,并删去交点以下部分; IF |c1-c2|=1,则求直线与窗右边(x=Xw-max)之交点,并删去交点以右部分;IF |d1-d2|=1,则求直线与窗左边(x=Xw-min) 之交点,并删去交点以左部分; 4、返回步骤1 。 (2)多边形的裁剪: 1、令多边形的顶点按边线顺时针走向排序:p 1 , p 2 , …, p n 各边先与上窗边求
8、 交。求交后删去多边形在窗之上的部分,并插入上窗边及其延长线的交点之间的 部分,从而形成一个新的多边形。然后,新的多边形按相同方法与右窗边相剪裁; 如此重复直至与各窗边都相剪裁完毕。 2. 多边形与每一条窗边相交,生成新的多边形顶点序列的过程,是一个对 多边形各顶点依次处理的过程。设当前处理顶点为 p,先前顶点为 s,多边形各 顶点的处理规则如下: 如果p 在窗边内侧,则保存p;否则不保存。如果p 和s 在窗边非同侧,则求交 点I,并将I 保存,并插入p 之前或s 之后。 (3)字符串的裁剪: 字符串的有或无剪裁: 根据字符串所含字符的个数,及字符的大小、间隔、轨迹,求出字符串的 外包
9、围盒(box)。以外包围盒的边界极值与窗边极值比较而决定该字串的去留。 字符的有或无剪裁: 1. 先以字符串box 与窗边比较而决定字符串的全删、全留或部分保留。 2. 对部分保留的字串中,逐个测量字符的box 与窗边关系而决定该字符 的去留。 字符的精密剪裁: 1、用字符串box 与窗边相比较。决定字符串的全删、全留或部分删; 2、对部分保留的字符串中,逐个测量字符的 box 与窗边的关系,决定字 符的全删、全留或部分删; 3、对部分保留的字符的每一笔划,用直线剪裁法对窗边进行剪裁。 4画直线的算法有哪几种?画圆弧的算法有哪几种?写一个画带线宽的虚线程序。
10、 画直线: 1) 逐点比较法;2)数值微分法;3)Bresenham算法 画圆弧: 1) 逐点比较法;2)角度DDA法;3)Bresenham算法 程序: 5写一个画饼分图的程序,用不同的颜色填充各个区域。 6写一个显示一串字符的程序。 7写出几种线裁剪算法。写出几种多边形裁剪算法。 8试写出能获得整数的Bresenham画线算法。 9利用线段裁剪的Cohen-Sutherlan算法,对线段AB进行裁剪。简述裁剪的基本过程。 第三章 1试用几种不同的顺序的简单几何变换,求出将平面上的以P1(x1,y1)、P2(x2,y2)为端点的直线段变换为x轴的变换矩阵,并
11、说明其等效性。 斜率为 k = (y2-y1)/ x2-x1 ,可以使用以下几种方法进行变换: a. 先把它平移到原点处,再旋转成水平线。其变换矩阵为: (其中θ= arctag(k) ) b. 先旋转,使它水平,再平移到X轴上。其变换矩阵为: (其中Tx可由几何计算得出) c. 先平移,使原点在其所在的直线上,再旋转 (其中My = x1*(y2-y1)/(x2-x1)–y1) 由计算结果可知,三者是等价的。 2证明二维点相对x轴做对称变换、又相对y=-x直线做对称变换完全等价于相对该点相对坐标远点做旋转变换。 二维点相对于X轴作对
12、称变换的变换矩阵为T1,相对于直线y=-x作对称变换的矩阵为T2,故二维点相对x轴做对称变换、又相对y=-x直线做对称变换的变换矩阵为: 同时,二维点相对于坐标原点作旋转变换的变换矩阵为: 故,当=-90°时,,也即顺时针方向选择90°。 3分别写出平移、旋转、缩放及其组合的变换矩阵。 平移变换: 其中,Tx,Ty,Tz是物体在三个坐标方向上的位移量。 旋转变换: 绕Z轴旋转 绕X轴旋转 绕Y轴旋转 如果旋转所绕的轴不是坐标轴,设其为任意两点P1,P1所定义的矢量,旋转角度为。则可由7个基本变换组合构成: 1) T(-x1,-y1,-z1)使P
13、1与原点重合; 2) ,使P1P2落入平面XOZ内; 3) ,使P1P2与Z轴重合; 4) ,执行绕P1P2轴角旋转; 5) ,3的逆操作; 6) ,2的逆操作; 7) T(x1,y1,z1),1的逆操作 缩放变换: 其中,Sx,Sy,Sz是物体在三个方向上的比例变化量。 4如何用几何变换实现坐标系的变换? 坐标系的变换,亦即将某一坐标系lcs1中的点变换为另一个坐标系lcs2下的坐标。若,V矩阵的推导分三步。 1) 将lcs1中的点变换到世界坐标系的矩阵M1: x_axis,y_axis,z_axis为lcs1中x,y,z轴矢量在世界坐标系的表示,org为
14、lcs1中原点在世界坐标系的表示 2) 将世界坐标系的点变换到lcs2中的点矩阵M2: 其中, 5写出透视变换矩阵和各种投影(三视图、正轴测和斜投影)变换矩阵。 透视变换矩阵: 主视图: 俯视图: 侧视图: 正轴测 斜投影: 6观察空间有那些参数?其作用是什么?写出从物体空间坐标系到观察空间坐标系的转换矩阵。 参数 名称 作用 VRP 观察参考点 确定观察坐标系原点 VPN 观察平面法向 确定观察平面法向 VUP 观测正向 确定观察平面上V轴的方向 F 前截面距离 确定前截面位置 B 后截面距离 确
15、定后截面位置 Pt 投影类型 定义投影是平行投影还是透视投影 PRP 投影参考点 确定投影中心或投影方向 Umin,Umax,Vmin,Vmax 观察窗口 在观察平面上定义观察窗口 从物体空间坐标系到观察空间坐标系的转换矩阵: 7分别写出对于透视投影和平行投影,从裁剪空间到规范化投影空间的转换矩阵。 8写出从规范化投影空间到图像空间的转换矩阵。 9请写出三围图形几何变换矩阵的一边表达式,并说出其中各个子矩阵的变换功能。 10对二维齐次坐标下的线性变换矩阵M,写出平移、旋转(绕原点)、比例(即变化)和错切情况下的变换形式。并描述将以P(x1,y1)、Q(x2,
16、y2)为端点的直线段变换为x轴重合的矩阵变换形式。 第四章 1交互技术有哪几种? 定位技术;橡皮条技术;拖拽技术;菜单技术;定值技术;拾取技术;网络与吸附技术 2三维输入技术主要有几类? 基本任务的交互技术; 混合交互技术; 多通道交互技术; 双手交互技术;、 三维Widgets; 基于二维设备的交互技术 第五章 1简述图段与结构的特点和主要差别。 计算机图形学软件在输出基元和画面之间设置一个中间数据结构,称为图段。图段的常见性质如下: 1、 可见性 2、优先度 3、
17、突出性 4、变换矩阵 结构是由图形数据和应用数据组织在一起的一个整体,它是程序员层次型交互式图形系统(PHIGS)国际图形标准模型所操作处理的基本单位。 构成结构的基本的数据实体称为“结构元素” 所以,结构是由一系列结构元素组成的结构元素有如下七类: 1、“输出原语”类结构元素 2、“属性说明”类结构元素 3、“变换及裁剪”类结构元素 4、“控制”结构元素 5、“编辑”结构元素 6、“通用”结构元素 7、“应用数据”元素 图段是图形核心系统(GKS)图形标准中采用的基本数据结构,而结构则是 PHIGS 图形标准中所采用的基本数据结构。图段与结构的主要差别如
18、下: 它们的拓扑结构不同。图段提供了单层、平面的图形数据结构,表示的是图像信息 而不是图形的构造信息,图段数据经过规格化坐标变换后,不再是定义该图段坐标空间的数据,而结构始终是在造型空间中定义的数据。 2列举GKS与PHIGS的主要特点和区别。 GKS在应用程序和图形输入输出设备之间提供了功能接口,包括:控制功能、输出功能、输出属性、变换功能、图段功能、输入功能、询问功能、实用程序、元文件处理和出错处理。 PHIGS向应用程序提供控制图形设备的图形系统接口,能够在系统中高效率地描述应用模型,迅速地修改图形模型的数据;并能够绘制显示修改后的图形模型。 主要区别: 1 数据
19、结构 GKS-3D:提供了单层、平面的图形数据结构其图段用来表示的是图象信息而不是图形的构造信息,其图段数据经过坐标规格化变换后,不再是定义该图段的坐标空间的数据 PHIGS:其结构始终是在造型空间中定义的数据 2可修改性 GKS-3D:产生的图段,其内容不能修改,但影响图段整体特征的某些属性,如可见性、可检测性、图段的几何变换等是可以修改 PHIGS:其任何结构,结构中的任何一部分元素则可以在任何时候进行修改 3属性的存储 GKS-3D:把图素属性和图素一起存入图形数据结构中,为了修改某图段中某个图素的属性,必须去除该图素的旧属性,重新生成一个新属性
20、 PHIGS:只要当遍历一个结构并要显示该结构时,其中的图素才能变成输出图素,此时,那些属性结构元素是灵活的,图形数据的修改也是容易的。 4 输出流水线 GKS-3D:采用三种坐标系,用户坐标系、设备坐标系和规格化设备坐标系 PHIGS:采用五种坐标系,造型坐标系、用户坐标系、观察坐标系、规格化的投影(空间)坐标系、设备坐标系 第六章 1列举ISO颁发的主要计算机图形信息标准。 有GKSM,CGM和CGI等“低级”数据接口和交换标准,还有IGES和STEP数据交换标准。 2IGES和STEP之间有何共同点和不同点。 STEP计划与IGES相比的一个显著特点是着重
21、于产品模型信息的交换而不是象IGES那样仅传递一些几何和图形数据。 ISO TC184/SC4制定的标准常被称为产品模型数据交换标准STEP(Standard for the Exchange of Product Model Data)。STEP的制定主要基于PDES计划 。1988年ISO把美国的PDES文本作为STEP标准的建议草案公布。 PDES支持的产品数据交换方式除了文件交换外,还有共享数据库,这在实现方式上又比以前的数据交换标准如,IGES、SET、VDAFS等前进了一大步 。 3IGES作为一种三维模型交换中性文件有哪些优缺点? 优点: 用户使用了IGES格式特性后
22、你可以读取从不同平台来的NURBS数据 缺点: 1变换过程中经常会发生错误或数据丢失现象,最差的情况是因一个或几个实体无法转换,使整个图形都无法转换。 2在转换数据的过程中经常发生某个或某几个小曲面丢失的情况 3些小曲面(Face)在转换过程中变成大曲面(Surface) 4试述STEP中全局产品模型的基本概念。 STEP的ISO正式代号为ISO 10303,是一个关于产品数据计算机可理解的表示和交换的国际标准,目的是提供一种不依赖于具体系统的中性机制,能够描述产品整个生命周期中的产品数据。 产品生命周期包括产品的设计、制造、使用、维护、报废等。 STEP把产品信息的表达
23、和用于数据交换的实现方法区分开来。STEP把所有部分分成七系列,每一系列包括若干部分。 第七章 1物体表面的颜色由哪些因素决定? 物体表面的色彩和明暗变化主要与光源特性和物体表面特性有关。 2简述各个光照模型之间的区别,并写出它们能模拟的光照效果和不能模拟的光照效果。 (1) 在漫射光线下,物体表面的色彩明暗与表面形状无光,仅与表面的反射系数有关,漫射光照模型为,在漫射光照下,物体的颜色由的3个原色分量的大小和比例决定。 (2) 直射光照模型,在直射光线情况下,物体表面明暗随表面法矢量和入射光线的夹角的变化而变化。 (3) 透射模型物体表面上每点的法线方向随物体形状而
24、变化,透射光强与透射系数有关。 3写出简单光反射模型近似公式,并说明其适用范围及能产生的光照效果。 适用于单一直射光源情况下的光照模型。 产生的光照效果:漫反射、镜面反射 4写出线光源的光强公式及其积分算法。 一般情况下,只能用数值计算法近似运算,其实质是用多个电光源来近似线光源。 5简述光线跟踪算法。 光线跟踪算法中的每一条光线要与场景中的各个物体所含的各个面求交,因此,需要对场景物体平面进行管理,以保证求交运算的有效运行,对于多面体,常采取链表构成的树形结构对数据进行分层表达与管理。 6写出光线与几种常见物体的表面的求交算法。 假设光射线定义为
25、为射线起点,为射线方向,为射线上任一点。 (1) 与多边形求交 交点,这时还要判断交点是否在多边形上,只要把交点和多边形投影到某个坐标平面内上判断即可; 当时,射线与多边形平行。 (2) 与球面相交 球心,半径r 其中 当时,无交点,否则,射线与球面交于两点 (3) 与柱面相交 底面中心P0,对称轴方向AXIS,半径r,高hY圆柱 其中 当时,由求根公式求解 求出t后,还要看是否满足了后面两个不等式,才能决定是否在柱面上。 7简述消隐算法的分类。 (1) 物体空间的消隐,物体空间是物体所在空间,即光见范化投影空间,这类算法是将物体表面上的K个多边
26、形中的每个面与其余K-1个面进行比较,精确求出物体上每条变或每个面的遮挡关系,计算量正比与k²。 (2) 图像空间消隐,即屏幕坐标空间,这类算法对屏幕的每一像素进行判断,以决定物体上哪个多边形在该像素点上是可见的。若屏上有m*n个像素点,物体表面上有k个多边形,在该类消隐算法计算量正比与mnk。 8简述深度缓存算法及其特点。 深度缓存算法是一种典型的,最简单的空间图像的消隐算法。在屏幕空间坐标系中,Z轴为观察方向,通过比较平行于Z轴的射线与物体表面交点的z值(又称深度值),用深度缓存数组记录下的最小z值,并将对应点的颜色存入显示器的帧缓存。 深度缓存算法最大优点是简单,它在X,Y,
27、Z方向上都没有进行任何排序,也没有利用任何相关性。算法复杂度正比于m*n*N,在屏幕大小m*n一定的情况下,算法的计算量只与多边形个数N成正比。 另一个优点是算法便于硬件实现并可以并行化。 9简述点与多边形之间的包含性检测算法。 先将该点变换到多边形所在平面,在二维空间讨论该问题,过该点沿任何方向做一条射线与多边形边界求交点,若交点个数为偶数,则该点在多边形外部,否则在内部。如果射线与多边形某边,某顶点重合,则可以改变射线方向重新测试。 10描述扫描线算法。 (1) 对于每个多边形,根据顶点最小值y,将多边形置入多边形y桶,求ymax,按ymin大小排序,建立活性多边形表,包
28、括与当前扫面线相交的多边形。
(2) 从上到下依次对每条扫描线进行消隐处理,对扫面以上的点置初值,Z(x)取其中的最大值,I(x)取背景色。
(3) 对每条扫描线y,根据活性多边形表找出所有与当前扫描线相交的多边形,对每个火星多边形,求出扫描线在此多边形内的部分,对这些部分中的每个像素x计算多边形在此处的z值,若z值小于Z(X),则置Z(X)为z,I(X)为颜色值。
(4) 当扫描线对活性多边形表中的所有多边形都处理完毕后,所得的I(X)即为显示颜色,可进行显示并对下一条扫描线进行处理,即y=y+1。此时,应更新活性多边形表,将已完全处于扫描线下方的多边形(ymax






