计算机图形学 (2)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《计算机图形学》思考练习题

第一章计算机图形学概论

1.比较计算机图形学与图象处理技术相同点和不同点。

计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。

图像处理技术研究如何对连续图像取样、量化以产生数字图像,如何对数字图像做各种变换以方便处理,如何滤去图像中的无用噪声,如何压缩图像数据以便存储和传输,图像边缘提取,特征增强和提取。

2.列举三个计算机图形的应用实例。

勘探、绘制地形地貌,系统模拟,虚拟现实。辅助教学设计。

3.简述计算机图形学发展动向。

造型技术—真实图形生成技术—人机交互技术—基于网络的图形技术

第二章计算机图形系统概述

1.叙述计算机图形系统的基本功能。

输入、输出、计算、存储、对话

他的基本功能是帮助人们设计、分析、采集、存贮图形、视频甚至音乐等信息。

2.输入设备可有哪几种逻辑功能?请举出各自对应的物理设备。

.定位(locator): 指定一个坐标点。对应的物理设备有鼠标器、键盘、数字化仪、触摸屏等。.笔划(stroke): 指示一个坐标点系列, 如指定一条曲线的控制点等。主要物理设备有数字化仪。.送值(valuator): 输入一个数值。最常用的物理设备是键盘的数字键。

.字符串(string):输入一个字符串。键盘字母键

.拾取(pick):各种定位设备

.选择(choise): 鼠标器,数字化仪,键盘功能键等

3.画出图形软件的层次结构及主要组成。

------------------------------------

| 应用程序|

| ----------------------------

| | 图形支撑软件|

| | -------------------

| | | 高级语言|

| | | ------------

| | | | 操作系统|

------------------------------------

主要部分:图形核心系统GKS 计算机图形元文件CGM 计算机图形设备接口CGI

程序员层次结构图形系统PHIGS

4.颜色查找表的概念及实现原理。

颜色查找表是一维线性表,其每一项的内容对应一种颜色,它的长度由帧缓存单元的位数决定。实现原理:把颜色码放在一个独立的表中,帧缓存存放的是颜色表中各项的索引值,这样在帧缓存单元的位数不增加的情况下,具有了大范围挑选颜色的能力。

5.光栅扫描显示器结构与工作原理。

工作原理:在这种显示器中,电子束的运动轨迹是固定的。即从左到右、自上而下扫描荧光屏,来产生一幅光栅。特点:由于图形是以点阵的形式存储在帧缓冲器中。所以光栅扫描显示器的电子束按从上到下、从左到右的顺序依次扫描屏幕,来建立图形。

6.为什么要制订图形软件标准?举例说明它的分类。

制定图形软件标准的目的在于使图形软件能够在不同的计算机和图形设备之间进行移植,以便提高图形软件的利用率, 降低开发成本,缩短研制周期, 使图形软件向着通用、高级与设备无关的方向发展。

数据接口标准:CGM

子程序接口标准:GKS、CGI、PHIGS

第三章基本图形生成算法

1.Bresenham 直线生成算法原理。它与DDA 算法相比,有何改进?

算法思想: 根据直线的斜率确定选择X或者Y方向作为计长方向, 在此方向上每次递增一个单位步长(或者一个像素单位), 另一个方向上是否同时产生一个单位增量由一个计算量很小的判别式来判断。

DDA为增量算法。它根据每一次增长时在另一轴上的增长计算下一个点应该画在哪里。Bresenham算法与它相比,由于全部采用了整数计算,使算法效率比起DD有大大提高,程序中只含有+ -和*2的计算,便于使用计算机内硬件实现。

2.比较几种常用画圆弧算法的原理和效率。

1)Bresenham算法思想其基本方法是从一个起点出发, 利用判别式选择下一个显示点。判别式的值通过简单计算获得, 其符号用作判断。只计算出1/8圆的点的位置,就可以画出整个圆来,效率高。

2)正负法:首先区分不同象限的圆弧,然后,选定圆弧起点后,在输出圆弧过程中,根据当前点位置与理想圆弧的关系和所在象限,决定下一次的走向每次只在X或Y方向走步取点,这样一点一点逼近圆弧形状。在整个计算过程中,只使用了+ -和*2运算,提高了硬件使用率。比起Bre算法,它更为简单。但生成的点数要比Bre多。

3.简述两种字符生成方法。

一种是在计算机中用笔划(矢量)方式来表示,然后通过扫描转换生成, 这是目前常用的方法,生成的字符效果好, 但计算量大;

另一种是在计算机内用位图(点阵)来表示, 存储在字符高速缓冲区(字符发生器)里, 显示时可以直接通过像素拷贝将其装入显示缓冲区中。这是传统的方法,简单、速度快,但不灵活。4.何谓四连通和八连通?写出一种边界表示的八连通区域填充算法。

4连通区域:取区域中的任何两个像素,从一象素出发,通过上、下、左、右4种运动,只经过该区域的点可以达到另一像素。

8连通区域:取区域中任何两个像素,从一象素出发通过上、下、左、右、两条对角线方向共

8种运动,只经过该区域的点可达到另一像素。

漫水法:

Procedure flood-fill-4(x,y,boundary-color,new-color:integer)

begin

if getpixel(framebuffer,x,y)<>boundary-color and

getpixel(framebuffer,x,y)<>new-color

then begin

setpixel(framebuffer,x,y,newcolor);

flood-fill-4(x, y+1, boundary-color,new-color);

flood-fill-4(x, y-1, boundary-color,new-color);

flood-fill-4(x+1, y, boundary-color,new-color);

flood-fill-4(x-1, y, boundary-color,new-color);

flood-fill-4(x+1, y+1, boundary-color,new-color);

flood-fill-4(x-1, y-1, boundary-color,new-color);

flood-fill-4(x+1, y+1, boundary-color,new-color);

flood-fill-4(x-1, y-1, boundary-color,new-color);

end

end

5.解释活化边表的思想,以多边形区域填充为例介绍它的应用。

边的活化链表AEL:记录当前扫描线与棱边的交点序列。初值为空,在处理过程中利用ET表和求交点的递推关系不断刷新。.链表AEL的边元素由以下4个域组成:

ymax:该棱边的上端点的y坐标;x:该棱边与当前扫描线交点的x坐标;Dx:该棱边的斜率m的倒数;next:指向下一条棱边的指针。

6.已知多边形各个顶点的坐标为(2,2), (2,4), (8,6), (12,2), (8,1), (6,2)及(2,2), 在用扫描线填充算法实现扫描转换时, 写出其边表(ET)和全部的活化边表(AET)的内容。

第四章图形变换与裁剪

1.什么是灭点?

在我们从一定的视角看3D图形时,会看到彼此平行的直线在远处有交点,这个交点就叫做灭点。

2.试用几种不同顺序的简单几何变换,求出将平面上的任一线段P1(x1,y1), P2(x2, y2)变换成与X 轴重合的变换阵,并说明其等效性。

斜率为k = (y2-y1)/ x2-x1 ,可以使用以下几种方法进行变换:

a.先把它平移到原点处,再旋转成水平线。其变换矩阵为

/1 0 0 \ / cosθsinθ0 \

T = | 0 1 0 | | -sinθcosθ0 |

\-x1 –y1 1 / \ 0 0 1 /

(其中θ= arctag(k) )

b. 先旋转,使它水平,再平移到X轴上

/ cosθsinθ0 \ /1 0 0 \

T = | -sinθcosθ0 || 0 1 0 |

\ 0 0 1 / \Tx 0 1 /

(其中Tx 可由几何计算得出)

c.先平移,使原点在其所在的直线上,再旋转

/1 0 0 \ / cosθsinθ0 \

相关文档
最新文档