精品文库
计算机图形练习题
注意:1.标注有“思考”的,无需写在作业本上
2.仔细阅读约定,按约定答题
一.概述章节练习题
1. 术语翻译
2D 二维图像、3D 三维图像、CG计算机图形、DIP(Digital Image Processing) 数字图像处理、real-time rendering、bitmap 实时渲染、CAD 计算辅助设计、CAM计算机辅助制造、CAI 计算机辅助教学、Non-Photorealistic Rendering(NPR) 非真实渲染、pixel 像素、picture element 图片元素、fractals 分形学、GIS( Geographic Information System) 地理信息系统、Motion Sensing Game 体感游戏、GUI 图形用户界面
2. 查资料思考,用1~2个软件名填写下表的每个空格
商业软件
免费/开源软件
2D
raster image
MULISIM
Qcad
vector graphics
Svg-edit
Cairomm
3D
Coreldraw
Inkscap
二、图形系统章节练习题
1. 术语翻译
DC 数码相机、DSLR 单眼数位相机、motion capture(Mocap) 动作捕捉、raster image光栅图象、vector graphics矢量图像、3d scanner 三维扫描仪、3d printer 3d打印机、projector 投影仪、CRT 阴极射线管、LCD 液晶显示屏、Frame Buffer(FB) 帧缓冲器、Lookup Table 查找表
2. 试列举常见的图形系统的IO设备
输入:鼠标、扫描仪、数码相机、跟踪球、空间球、操作杆、触摸板、光笔
输出:显示器、打印机、绘图仪
3. 试比较 "乌克兰建筑物3D投影艺术"和"【巡音ルカ】 ダブルラリアット ライブ映像"两种显示方式的不同
4. 比较三种图像显示方式:随机、存储式、光栅。
随机: 为了获得稳定的画面,必须不断地重复扫描显示文件
优点:图形修改方便,交互性好,图形可以无级放大不会出现锯齿状
缺点:不能产生多级灰度的真实感显示,图形的复杂程度受显示器扫描速度的限制
存储式: 利用显示管本身来存储信息技术(随机扫描器使用了一个独立的存储器来存储图形信息)优点:图形保持时间长,比较稳定。电路结构简单,成本低。
缺点:显示画面速度慢,不适宜动态修改,一次擦除整屏图形,交互性差。
不能进行区域填充,图形复杂度受到限制。
光栅:把对应于屏幕上每个像素的信息都用存储器存起来,然后按地址顺序逐个刷新显示在屏幕上。 优点:不仅可以显示物体轮廓还可进行区域填充。可生成真实感图像
缺点:从应用程序将图形的描述转换成帧缓存像素信息的过程比较费时,相应软件比较复杂。在显示斜线时会出现走样
5. FB的计算
对于光栅显示系统,如果每个像素可多达24位(红、绿、蓝三基色,每种基色占8位:83=24位),那么每个像素可以显示的颜色总数是多少?如果系统的分辨率是1024*768,那么显卡的FB至少应该是多少?N=224 FB=1024768log224=18M
6. 列举常用的颜色模型及适用范围。
RGB:面向硬件,适用于显示设备
CMY(K):适用于打印,绘制设备
HSV:适用于画家本色原理直观的颜色描述
HSL:基于颜色参数的模型
7. 列举并比较:现在编程时,可以适用到得图形支撑软件(图形库)。
openGL:用来描述场景的面向对象函数。
VRML:可用来建立因特网上虚拟世界的三维图形。
JAVA2D:创建JAVA applet中的二维场景。
JAVA3D:创建三维web显示。
Renderman Interface:可用来显示生成各种光照模型下的场景。
三、基本图形元素章节练习题
1. 术语翻译
DDA 数字微分分析器、anti-aliasing 反走样、convex polygon 凸多边形、convcave polygon 凹多边形、Vector image 矢量图像、raster image 光栅图象、Edge Table 边表、Active Edge Table 活化边表、Flood fill algorithm 泛滥填充算法、seed fill algorithm 种子填充算法
2. 使用DDA算法,
1) 填写下表,绘制(0,0)-(5,10)之间的直线段。约定:a)对于浮点数运算,只取到小数点后2位,从第3位起直接舍弃;b)对于取整运算,只接取整数部分,舍弃小数点后的数字。
2) m=10-0/5-0=2 △y=1 xk+1=xk+1/m
步骤
计算坐标
画点坐标
xi
yi
xi
yi
1
0
0
0
0
2
0.5
1
0
1
3
1
2
1
2
4
1.5
3
1
3
5
2
4
2
4
6
2.5
5
2
5
7
3
6
3
6
8
3.5
7
3
7
9
4
8
4
8
10
4.5
9
4
9
11
5
10
5
10
2) 考虑如何绘制(-5,10)-(0,0)之间的直线段(不用写在作业本上)
3. 中点法与Bresenham画线法
1)使用中点法,填写下表,绘制(0,0)-(5,10)之间的直线段。约定直线段恰好通过中点时,去水平方向的下一个点。
步骤
x
y
判据d
1
0
0
0
2
0
1
10
3
1
2
0
4
1
3
10
5
2
4
0
6
2
5
10
7
3
6
0
8
3
7
10
9
4
8
0
10
4
9
10
11
5
10
0
2) 约定下一候选点只能在四邻域上选取,推导Bresenham画线法,绘制斜率大于1的直线段(不用写在作业本上)
3) 思考:中点法与Bresenham画线法有何关系?
4. 使用扫描线填充算法,填充闭合多边形
约定边结构为(以C语言描述)
typedef struct {
int ymax; float xcurrent; float deltax; struct Edge *nextEdge; }Edge;
1) 填充由顺次链接的如下顶点构成的闭合多边形:(3,3)-(3,9)-(7,7)-(13,11)-(13,5)-(7,1)。要求a)列出ET;b)写出y=5时,AET赋值的过程;c)填写下表。约定:a)对于浮点数运算,只取到小数点后2位,从第3位起直接舍弃;b)对于取整运算,只接取整数部分,舍弃小数点后的数字
2) 思考:扫描线填充算法与上面2题,有何关系。
y
AET
填充
1
3,7.00,-2.00->5,7.00,1.50
(7,1)-(7,1)
2
5. 使用泛滥填充算法,填充闭合多边形
1) 约定a)像素领域读取方向如下图左;b)堆栈中已有像素不重复入栈;c)初始种子点选为6号点。填写下表
2) 思考:泛滥填充算法,第一步需要判断种子点是否在多边形内部。如何判断?
3) 思考:如果约定像素领域为8邻域,会如何?
步骤
堆栈
填充像素编号
低高
1
6
2
6
6
3
7→4
4
4
7→5→s→3
3
5
7→5→s→2
2
6
7→5→s→8
8
7
7→5→s→9
9
8
7→5→s
S
9
7→5
5
10
7
7
6. 思考:扫描线填充法和种子填充法,分别适合于什么场合?
7. 关于光栅图像、矢量图像
1)思考:如何实现光栅图形的反走样?
1.提高分辨率。2区域采样。3半色调技术。
2)查阅更多资料思考:给出光栅图像,如何做到无极放大?
3)查阅更多资料思考:光栅图像、矢量图像有何区别?如何将光栅图像转换为矢量图像?光栅图也叫做位图、点阵图、像素图,简单的说,就是最小单位由像素构成的图,缩放时会失真。每个像素有自己的颜色,类似电脑里的图片都是像素图,你把它放很大就会看到点变成小色块了。这种格式的图适合存储图形不规则,而且颜色丰富没有规律的图,比如照片。
矢量图也叫做向量图,记录的是点、线、面的位置和颜色信息,这样,图形放大不会失真,适合存储像标志、线路图、设计图等,这种格式的优势是放大不失真、占空间小等优点,比如很多flash动画就是矢量绘图。
8. 思考:windows操作系统广泛使用的TureType Font轮廓字形,属于点阵字库还是矢量字库?如何使用该字库绘制实心的文字?
7
欢迎下载
展开阅读全文