当前位置:文档之家› 计算机图形学

计算机图形学

计算机图形学
计算机图形学

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

第一章计算机图形学概论

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

ifgetpixel(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 / \Tx0 1 /

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

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

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

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

\0 My 1 / \ 0 0 1 /

其中My = x1*(y2-y1)/(x2-x1) – y1

由计算结果可知,三者是等价的。

3.已知OXYZ 坐标系下平面方程是x+y+z+d=0,试求变换距阵T,使

该平面在O’X’Y’Z’坐标系下变成z’=0。

三维坐标变换:

比例变换:

/ a 0 0 0 \

T = | 0 e 0 0 |

| 0 0 i 0 |

\ 0 0 0 1 /

其中a,e,i分别为在X,Y,Z坐标上的比例改变

平移变换:

/ 1 0 0 0 \

T = | 0 1 0 0 |

| 0 0 1 0 |

\ l m n 1 /

其中a,e,i分别为在X,Y,Z坐标上的平移量

旋转变换:(手写)

4.试简述二维图形裁剪的基本原理及可选用的裁剪策略.

裁剪的原理: . 在显示图形之前, 组成图形的每一个基本元素都要经过裁剪, 因此裁剪算法直接影响整个图形系统的效率。. 裁剪的基本目的是判断图形元素是否在所考虑的区域内。如在区域内, 则进一步求出在区域内的那一部分。因此裁剪处理包含两部分内容:1)点在区域内外的判断;2)计算图形元素与区域边界的交点。

1.编码裁剪法(Sutherland-Cohen算法)

2.中点分割裁剪法

3.多边形的裁剪1. 逐边裁

剪法2. 双边裁剪法

第五章人机交互技术

1. 基本的交互任务有哪些?它们可用什么设备执行?

基本交互任务1. 定位2. 选择3. 数量输入4. 文本输入5. 三维交互任务

2. 举例说明WINDOWS 系统常用的交互方式,编程实现其中一例。

3. 叙述设计人机交互的一般风格和原则。

现在计算机系统的人机界面一般具有下列风格,即: “所见即所得”(what you see is what you get) ,直接操作(direct manipulate)及菜单和图形符号(icon)驱动。–“所见即所得”在交互式图形系统中一般都能做到, 即在屏幕上所见到的设计结果和用硬拷贝所得的输出结果是一致的。–直接操作是对对象、特性及关系等操作时用户可得到一种直观及形象的表示, 以说明这个操作是正确地被执行了。

人机界面设计的一些基本原则:(1) 简单易学(2) 提供反馈(3) 对错误操作容易纠正Undo(4) 设计一致性功能布局、颜色、代号等应一致

第六章曲线曲面的表示

1. Bezier 曲线具有哪些特性?试用n 的归纳法证明其凸包性。

2. B 样条曲线的定义及其特点。

特点:(1) 凸包性(2) 分段参数多项式(3)连续性(4)几何不变性(5)保凸性(6)局部调整性(7)造型灵活性

3. 比较Bezier 曲面和B样条曲面的功能特点。

Bezier 曲面:凸包性,几何不变性,P(u,v)的控制网格{Pij}可以作为曲面的输入和人机交互的良好手段。另外, 易拼接性、易离散性都较好。

B样条曲面:凸包性, 几何不变性, 局部调整性和人机交互性与B样条曲线情况类似。(功能方面找不到)

4. Coons 曲面片构造方法及其特点。

孔斯曲面的性质

(1)端点位置H(0,0), H(0,1), H(1,0), H(1,1)是曲面P(u,v)的端点。

(2)边界线在v=0处曲面的边界线为

这是以式(6.2)中的矩阵的第一列元素为系数的三次埃尔米特曲线。其余的边界线P(u,1), P(0,v),P(1,v)分别是以该矩阵中的第2列, 第1行和第2行的元素为系数的三次埃尔米特曲线。

(3)跨界导矢

由式(6.1)可得v=0处的跨界导矢为

这是以式(6.2)中的矩阵的第3列元素为系数的三次埃尔米特曲线。其余各条边界的跨界导矢分别是以该矩阵中的第4列, 第3行和第4行的元素为系数的三次埃尔米特曲线。

另外,双三次孔斯曲面与双三次Bezier曲面的可相互转化。

第七章三维实体的造型

1. 体素构造表示法中两物体正则运算的公式,并举例说明它们的计算方法。

物体间的正则集合运算: . 传统的点集之间的并、交、差运算可能改变点集的正则性质, 有必要对传统的点的集合运算施加一定的限制。为此, 对点集的正则集合运算作下述定义:正则并运算A∪*B=r(A∪B)

正则交运算A∩*B=r(A∩B)

正则差运算A-*B=r(A-B)

其中, r表示正则化算子。正则物体经正则运算结果仍为正则物体。

2. 形体的拓扑信息和几何信息各包含哪些内容?举例说明它们起何作用。

3. 欧拉公式及其应用意义。

欧拉公式:一个多面体的顶点数,边数和面数分别为V,E,F, 则存在以下关系:

V-E+F=2

这就是著名的欧拉公式,它说明了简单多边形的顶点数,边数和面数之间的关系。

4. 试写出判定空间任意位置的两个长方体是否相交的算法。

5. 试比较实体的边界表示、扫移表示、CSG 表示及八叉树表示的优缺点。说明它们适应的应用。

边界表示:优点:实体的面、环、边、点的信息都直接表示出来了,因而,集合运算的结果可以继续参加集合运算,也便于显示或输出。

缺点:数据量较多,所使用的存储空间较大。

适用范围:广泛地用来表示三维实体。

扫描表示法:优点:只需要二维平面及曲线即可

适用范围:建筑设计中的平面图

物体的CSG树表示:优点: 将复杂物体表示转换为简单物体之间运算,也可递归求出物体性质;

缺点: 方法有局限性,物体复杂时,这种表示不太适应。

适用范围:在现有的大多数实体造型系统中作为输入手段而得到广泛应用。

八叉树表示:优点:物体之间集合运算在八叉树中十分简单;物体并-两物体一共占有的空间;物体交-两物体共同占有的空间。运算时只需同时遍历参加集合运算两物体相应的八叉树。同时简化了隐藏线和隐藏面的消除。

缺点:占用存贮很多;物体表示复杂;每个结点除去描述该结点性质外,还需存储指向父节点及8个子树的指针。(10个域)运算时只需同时遍历参加集合运算两物体相应的八叉树。八叉树表示以存储空间换取了算法的效率。

适用范围:常用来管理空间实体,以实现图形显示过程的加速。

第八章消隐技术

1. 为何要进行隐藏面的消除?

找出并消除物体中不可见的部分,称为消隐。经过消隐得到的图形称为消隐图。

消除隐藏面的目的是让人更加能够感觉到物体的真实性,更能适应人的视觉需要。

2. 简述区域子分消隐算法思想和描述。

区域子分算法思想:区域子分算法是针对光栅扫描式图象显示器上填色产生图形的。它是一种所谓分而治之的算法。

整个屏幕称为窗口, 每一次把矩形的窗口等分成4个相等的小矩形,分成的矩形也称为窗口。每一次子分, 均要把要显示的多边形和窗口的关系做一次判断。这种关系有以下4种: –多边形包围了窗口

–多边形和窗口相交

–窗口包围了多边形

–窗口和多边形分离

窗口和每个多边形的关系确定之后, 有些窗口内的图形便可显示了, 它们属于下列情况:(1)所有多边形都和窗口分离, 这时只要把窗口内所有的象素填上背景颜色。(2)只有一个多边形和窗口相交,或这个多边形包含在窗口内。这时先对窗口内每一象素填上背景颜色, 再对窗口内多边形部分用扫描线算法填色。(3)只有一个多边形和窗口相交,这个多边形把窗口整个包围在内;或虽有几个多边形和窗口相交,但观察者最近的一个多边形包围了整个窗口,这时把整个窗口填上离观察者最近的那个多边形的颜色。对上述3种情况不成立的窗口再一分为四,分得的窗口重复上述的处理。重复处理后,窗口的边长越分越短, 分了若干次后, 窗口的边长就和一个象素的宽度一样了。这时, 这个窗口对应的象素的颜色可取成最靠近观察者的多边形的颜色, 或和这个窗口相交的多边形颜色的平均值。

3.简述Z 缓存消隐算法思想和描述。

深度缓存算法(Z-Buffer)是一种最简单的图象空间

面消隐算法, 既适应于多边形面也适用其它曲面。

. 它需要一个深度缓存数组ZB, 其大小与屏幕上象素

点的个数相同, 也与显示器的帧缓存FB的单元个数

相同, 彼此一一对应。

算法描述

. 若有N个多边形, 屏幕上象素点个数为m×n, 则

算法的基本步骤如下:

(1) 初始化ZB和FB, 使ZB(i,j)=z的极小值, FB(i,j)=背景色;

(i=1,2,…,m, j=1,2,…,n)

(2) FOR j =1,n /*第j根扫描线*/

FOR i =1,m /*第j根扫描线上第i个象素点*/

FOR k =1,N /*多边形Pk*/

(2.1)令Zij=Z的极小值;

(2.2)判断点(i,j)是否落在多边形Pk在XOY面

上的投影多边形内;

(2.3)若(i,j)在P

k的投影多边形内,则计算多边形Pk在点(i,j)处的深度值Zij;

(2.4)比较Zij与ZB(i,j)的大小,若Zij>ZB(i,j),

则令ZB(i,j)= Zij,FB(i,j)=多边形Pk的颜色。

4.几种主要的隐藏面的消除算法的特点。

区域子分算法:区域子分算法是针对光栅扫描式图象显示器上填色产生图形的。它是一种所谓分而治之的算法。

深度缓存算法:最大优点在于简单,没有利用任何相关性,便于硬件实现

扫描线算法:它是直接从深度缓存算法中导出的只是在此基础上利用了边和点的相关性。第九章真实感图形技术

1. 用框图描述三维真实感图形的产生流程。

真实感图形生成步骤

–用数学方法建立所需三维场景的几何描述, 并将它们输入计算机;

–将三维几何描述转换为二维透视图;

–确定场景中的所有可见图(消隐);

–计算场景中可见面的颜色。(本章重点)

-光强(Intensity of light)或称光亮度

2. Phong局部光照模型及其实现算法描述。

Phong模型考虑反射光3个分量所建立的光照模型,表示为:I=kaIpa+Σ[kdIpdcosi+ksIpscosn θ] ,ka, kd, ks分别为环境反射、漫反射和镜面反射分量系数, 即材质系数(kd+ks=1),Σ表示对所有光源求和。.一般在计算机实现时, 用R、G、B三个分量计算, 表示为:

3. 叙述Phong多边形明暗处理算法原理, 与Gouraud算法比较它的优缺点。

Phong明暗处理技术(PhongShading)

思想: 对离散的法向量采样作双线性插值,构造一个连续的法向量函数, 将这个连续的法向量插值函数代入光亮度计算公式, 即得到一个非线性的光亮度插值公式。任一点P处法向按插值方法由各顶点处法向推出。优点: 大大减少了马赫带效应;产生真实的高光效果。缺点: 由于对每一像素光亮度计算还需使用光照模型, 故计算量大。

4. 何为全局光照模型,典型的模型举例。

整体光照模型Whitted在Phong模型中增加了环境镜面反射光亮度Is和环境规则透射光亮度It, 从而模拟周围环境的光透射在景物表面上产生的理想镜面反射和规则透射现象。

在3D绘图中材质的使用上。

5. 实现真实感绘制的光线跟踪技术的主要思想和算法描述。

光线跟踪技术(Ray Tracing)基本原理.光线跟踪技术是为了求解Whitted模型而提出一种高度真实感图形绘制技术。.光线投射(ray casting)假设从视点V通过屏幕像素e向场景投射一光线交场景中的景物于P1,P2...Pm点, 那么离视点最近的P1点就是画面在像素e处的可见点, 像素e的光亮度应由P1点向方向辐射的光亮度决定的。这样, 对屏幕上每一像素都投射光线以求得与场景的第一个交点, 并置像素的光亮度为交点处的光亮度。

算法描述

begin

for 每个像素e do

begin

确定通过视点V和像素e的光线R;

ray_tracing(R, I, 1);

置e的光亮度为I;

end

end

procedureray_tracing(R,I,A)

/*R-跟踪光线,I-跟踪光线光亮度;A-I对总光亮度的贡献系数*/

begin

if A

else

begin

R与景物求交,返回可见点P1;

计算P1的局部光照明亮度Ic;

若P1所在表面为光滑镜面,确定P1的镜面反射光线Rr;

ray_tracing(Rr, Is, ksA);

若P1所在表面为透明面,确定P1的规则透射光线Rt;

ray_tracing(Rt, It, ktA);

I=Ic+ksIs+ktIt;

end

end

6. 加速光线跟踪算法的主要方法。

光线跟踪求交加速算法特点:场景分层次表示: 将场景中的所有表面按景物组成和景物间的相对位置分层次组织成一棵景物树。包围盒: 指用几何形状相对简单的封闭表面将复杂景物包裹起来, 若被跟踪的光线与包围盒不交, 则与它所含所有景物表面均无交。包围盒与场景分层次表示技术结合使用, 大大减少求交工作量。

Procedureintersection (ray, scene)

Begin

If (ray与scene的包围盒有交点) then

Begin

if (scene是终结点) then

Begin

ray与scene求交, 若有交,则交点置入交点表中

end

else

for(scene的所有儿子child_of_scene) do

intersection (ray, child_of_scene)

end

end

7. 何谓纹理映射,简述其实现原理。

纹理映射(texture mapping):生成颜色纹理的方法。其过程是:

在一平面区域(纹理空间)上预先定义纹理图案; 然后建立物体表面的点与纹理空间的点之间的对应关系(即映射)。几何纹理生成方法主要有法向扰动法、分形生成技术等。

8. 试写出将一幅图片贴到三维圆柱体表面的算法。

计算机图形学 答案

计算机图形学Ⅰ 专业:计算机科学与技术 计算机科学与技术2092 2012年12月

第1章绪论 1、计算机图形学的概念?(或什么是计算机图形学?) 计算机图形学是研究怎样利用计算机表示、生成、处理和显示图形的(原理、算法、方法和技术)一门学科。 2、图形与图像的区别? 图像是指计算机内以位图(Bitmap)形式存在的灰度信息;图形含有几何属性,更强调物体(或场景)的几何表示,是由物体(或场景)的几何模型(几何参数)和物理属性(属性参数)共同组成的。 3、计算机图形学的研究内容? 计算机图形学的研究内容非常广泛,有图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真和虚拟现实等。 4、计算机图形学的最高奖是以 Coons 的名字命名的,而分别获得第一届(1983年)和第二 届(1985年)Steven A. Coons 奖的,恰好是 Ivan E. Sutherland 和 Pierre Bézier 。 5、1971年,Gourand提出“漫反射模型+插值”的思想,被称为 Gourand 明暗处理。 6、1975年,Phong提出了著名的简单光照模型—— Phong模型。 7、1980年,Whitted提出了一个光透明模型—— Whitted模型,并第一次给出光线跟踪算 法的范例,实现了Whitted模型。 8、以 SIGGRAPH 会议的情况介绍,来结束计算机图形学的历史回顾。 9、什么是三维形体重建? 三维形体重建就是从二维信息中提取三维信息,通过对这些信息进行分类、综合等一系列处理,在三维空间中重新构造出二维信息所对应的三维形体,恢复形体的点、线、面及其拓扑关系,从而实现形体的重建。 10、在漫游当中还要根据CT图像区分出不同的体内组织,这项技术叫分割。 11、一个图形系统通常由图形处理器、图形输入设备和输出设备构成。 12、CRT显示器的简易结构图 12、LCD液晶显示器的基本技术指标有:可视角度、点距和分辨率。

计算机图形学试题附答案完整版

名词解释 将图形描述转换成用像素矩阵表示的过程称为扫描转换。 1.图形 2.像素图 3.参数图 4.扫描线 5.构造实体几何表示法 6.投影 7.参数向量方程 8.自由曲线 9.曲线拟合 10.曲线插值 11.区域填充 12.扫描转换 三、填空 1.图形软件的建立方法包括提供图形程序包、和采用专用高级语言。 2.直线的属性包括线型、和颜色。 3.颜色通常用红、绿和蓝三原色的含量来表示。对于不具有彩色功能的显示系统,颜色显示为。 4.平面图形在内存中有两种表示方法,即和矢量表示法。 5.字符作为图形有和矢量字符之分。 6.区域的表示有和边界表示两种形式。 7.区域的内点表示法枚举区域内的所有像素,通过来实现内点表示。 8.区域的边界表示法枚举区域边界上的所有像素,通过给赋予同一属性值来实现边界表示。 9.区域填充有和扫描转换填充。 10.区域填充属性包括填充式样、和填充图案。 11.对于图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,

连接新的顶点序列即可产生新的变换后的图形。 12.裁剪的基本目的是判断图形元素是否部分或全部落在之内。 13.字符裁剪方法包括、单个字符裁剪和字符串裁剪。 14.图形变换是指将图形的几何信息经过产生新的图形。 15.从平面上点的齐次坐标,经齐次坐标变换,最后转换为平面上点的坐标,这一变换过程称为。 16.实体的表面具有、有界性、非自交性和闭合性。 17.集合的内点是集合中的点,在该点的内的所有点都是集合中的元素。 18.空间一点的任意邻域内既有集合中的点,又有集合外的点,则称该点为集合的。 19.内点组成的集合称为集合的。 20.边界点组成的集合称为集合的。 21.任意一个实体可以表示为的并集。 22.集合与它的边界的并集称集合的。 23.取集合的内部,再取内部的闭包,所得的集合称为原集合的。 24.如果曲面上任意一点都存在一个充分小的邻域,该邻域与平面上的(开)圆盘同构,即邻域与圆盘之间存在连续的1-1映射,则称该曲面为。 25.对于一个占据有限空间的正则(点)集,如果其表面是,则该正则集为一个实体(有效物体)。 26.通过实体的边界来表示一个实体的方法称为。 27.表面由平面多边形构成的空间三维体称为。 28.扫描表示法的两个关键要素是和扫描轨迹。 29.标量:一个标量表示。 30.向量:一个向量是由若干个标量组成的,其中每个标量称为向量的一个分量。 四、简答题 1. 什么是图像的分辨率?

计算机图形学实验

实验1 直线的绘制 实验目的 1、通过实验,进一步理解和掌握DDA和Bresenham算法; 2、掌握以上算法生成直线段的基本过程; 3、通过编程,会在TC环境下完成用DDA或中点算法实现直线段的绘制。实验环境 计算机、Turbo C或其他C语言程序设计环境 实验学时 2学时,必做实验。 实验内容 用DDA算法或Besenham算法实现斜率k在0和1之间的直线段的绘制。 实验步骤 1、算法、原理清晰,有详细的设计步骤; 2、依据算法、步骤或程序流程图,用C语言编写源程序; 3、编辑源程序并进行调试; 4、进行运行测试,并结合情况进行调整; 5、对运行结果进行保存与分析; 6、把源程序以文件的形式提交; 7、按格式书写实验报告。 实验代码:DDA: # include # include

void DDALine(int x0,int y0,int x1,int y1,int color) { int dx,dy,epsl,k; float x,y,xIncre,yIncre; dx=x1-x0; dy=y1-y0; x=x0; y=y0; if(abs(dx)>abs(dy)) epsl=abs(dx); else epsl=abs(dy); xIncre=(float)dx/(float)epsl; yIncre=(float)dy/(float)epsl; for(k=0;k<=epsl;k++) { putpixel((int)(x+0.5),(int)(y+0.5),4); x+=xIncre; y+=yIncre; } } main(){ int gdriver ,gmode ;

计算机图形学基础期末考试试题

一、填空题 1.将多边形外部一点A与某一点B用线段连接,若此线段与多边形边界相交的次数为??????????,则点B在多边形外部。若此线段与多边形边界相交的次数为??????????,则点B在多边形内部。 2.生成直线的四点要求是_______________________,____________________________,____________________________________,速度要快。 3.由5个控制顶点Pi(i=0,1,…4)所决定的3次B样条曲线,由??????????段3次B样条曲线段光滑连接而成。 4.用于减少或克服在“光栅图形显示器上绘制直线、多边形等连续图形时,由离散量表示连续量引起的失真”的技术叫??????????。 5.图形的数学表示法一般有??????????,??????????,??????????。 1.一个交互性的计算机图形系统应具有、、、、 输入等五方面的功能。 2.阴极射线管从结构上可以分为、和。 3.常用的图形绘制设备有和,其中支持矢量格式。 4.PHIGS和GKS将各种图形输入设备从逻辑上分为六种:定位设备、笔划设 备、、、和。 5.通常可以采用和处理线宽。 6.齐次坐标表示就是用维向量表示n维向量。 7.平行投影根据可以分为投影和投影。 8.一个交互式计算机图形处理系统包括图形软件和_____________,图形软件又分为 _____________、_____________和三部分。 9.构成图形的要素包括和,在计算机中通常用采用两种方法来表示 图形,他们是和。 10.荫罩式彩色显像管的结构包括、、和。 11.目前常用的PC图形显示子系统主要由3个部件组成:、和一 个ROM BIOS芯片。 12.在交互输入过程中,图形系统中有_____________、、和其组 合形式等几种输入(控制)模式。 13.填充一个特定区域,其属性选择包括、和。 14.计算机中表示带有颜色及形状信息的图和形常用和参数法,其中用参数法描 述的图形称为,用描述的图形称为。 15.在显示技术中,我们常常采用提高总的光强等级。 16.常用的交互式绘图技术有、、和。

计算机图形学课程设计——扫雷游戏程序设计

计算机图形学课程设计——扫雷游戏程序设计

《计算机图形学》课程设计报告 VC++扫雷游戏的程序设计 专业班级: 小组成员:

指导老师: 日期:2012年12月24日 1、需求分析 本课程设计实现类似于Windows XP操作系统自带的扫雷游戏。该设计以V isual C++ 6.0为开发环境, Windows 7/XP为程序运行平台。在程序设计中,把整个雷区看成一个二维数组,把雷方块定义为具有所在雷区二维数组的行和列、当前状态、方块属性、历史状态的结构体,采用了MFC机制解决问题的方法。整个游戏程序包括了布雷、扫雷过程和结果三个阶段,在处理鼠标响应事件中伴随着GDI绘图。程序通过调试运行,实现简单的设计目标,满足扫雷游戏初学者的需要。 通过本课程设计,以便更好的巩固计算机图形学相关知识,掌握课程设计基本的方法和技巧,同时增加同学之间的团队合作精神以及培养分析问题、解决问题的能力。 2.总体设计 2.1 功能概述 扫雷游戏的游戏界面如图1所示。在这个界面中,由众多面积均等的小方块所组成的区域称之为雷区,雷区的大小由用户设置的游戏等级决定。

图1 游戏开始时,系统会在雷区中随机布下若干个地雷。安放地雷的小方块称之为雷方块,其他的称之为非雷方块。部署完毕后,系统会在其他非雷方块中填充一些数字。某一个具体数字表示与其紧邻的8个方块 中有多少雷方块。玩家可以根据这些信息去判断是否可以鼠标点击方块, 并把认为是地雷的方块打上标识。当玩家将所有地雷找出后,其余的非雷方块区域都已打开,此时游戏结束。在游戏过程中,一旦错误地打开了雷方块则立即失败,游戏结束。 游戏规则总结: ●开始:按左键开始游戏,按按钮或菜单重新开始。 ●左键:按下时,是雷则结束,非雷则显示数字。 ●数字:代表此数字周围一圈八格中雷的个数。 ●右键:奇次按下表示雷,偶数按下表示对上次的否定。 ●结束:左键按到雷结束,找出全部雷结束。 在游戏开始后,雷区上方有两个计数器。右边的计数器显示用户扫

计算机图形学基础教程实验报告

湖北民族学院信息工程学院实验报告 (数字媒体技术专业用) 班级:0312413姓名:谌敦斌学号:031241318实验成绩: 实验时间:2013年10 月14 日9、10 节实验地点:数媒实验室课程名称:计算机图形学基础教程实验类型:设计型 实验题目:直线与圆的绘制 一、实验目的 通过本次实验,熟练掌握DDA、中点、Bresenham直线绘制方法和中点、Bresenham圆的画法,能够在vc环境下独立完成实验内容,逐渐熟悉opengl的语法特点,提高程序基本绘图的能力。 二、实验环境(软件、硬件及条件) Microsoft vc++6.0 多媒体计算机 三、实验内容 1.从DDA、中点、Bresenham画线法中任选一种,完成直线的绘制。 2.从中点、Bresenham画圆法中任选一种,完成圆的绘制。 四、实验方法与步骤 打开vc++6.0,新建一个工程,再在工程里面建一个.cpp文件,编辑程序,编译连接后执行即可。

程序如下 bresenham画线法: #include #include int bresenham(int x0,int y0,int x1,int y1,int color) { int x,y,dx,dy,e,i; dx=x1-x0; dy=y1-y0; e=-dx; y=y0; for(x=x0;x<=x1;x++) { putpixel(x,y,color); e+=2*dy; if(e>=0) { y++; e-=2*dx; } } return 0; } int main() { initgraph(640,480); bresenham(0,0,500,200,255); while(!kbhit()) { } closegraph(); return 0; } Bresenham画圆法: #include #include int circlepoints(int x,int y,int color) { putpixel(255+x,255+y,color); putpixel(255+y,255+x,color); putpixel(255-x,255+y,color);

计算机图形学

《计算机图形学》 实 验 报 告 姓名:邬维 学号: 20107989 班级:计算机科学与技术一班 指导老师:廖宁 成绩: 完成时间:2012-12-26

实验一 实验名称:Visual C++图形程序 一.实验目的 Visual C++是在Microsoft C 的基础上发展而来的,随着计算机软、硬件技术的快速发展,如今Visual C++已成为集编辑、编译、运行、调试于一体功能强大的集成编程环境。本章以Visual C++ 6.0 为对象,主要介绍V isual C++集成编成环境的使用、图形设备接口和常用图形程序设计、鼠标编程以及菜单设计等基础,目的是通过对Visual C++的学习,掌握V isual C++图形程序设计的方法,为计算机图形学原理部分的算法实现提供程序工具和方法。 二.实验环境 XP系统,Visual C++ 6.0。 三.实验内容 1.学习V isual C++图形程序设计的方法; 2.掌握V isual C++集成编成环境的使用、图形设备接口和常用图形程序设计、鼠标编程、橡皮筋交互技术、画刷与画笔以及菜单设计等; 3.利用CDC类已有的画笔划线等函数绘制一张笑脸,要求有眼睛鼻子和嘴巴,笑脸处于屏幕的中央,并加入文字。 四.实验步骤 1.先建立一个CDC工程。 2.在CCDCview找到OnDraw()函数编写一下代码: void CAAA View::OnDraw(CDC* pDC) { CAAADoc* pDoc = GetDocument(); ASSERT_V ALID(pDoc); // TODO: add draw code for native data here CPen mypen,*oldpen; mypen.CreatePen(PS_SOLID,2,RGB(0,0,0)); oldpen=pDC->SelectObject(&mypen); pDC->Ellipse(275,170,425,320); pDC->Arc(360,215,410,240,410,255,360,225); pDC->Arc(290,215,340,240,340,255,290,225); pDC->Arc(320,240,380,300,320,270,380,270); pDC->SelectObject(oldpen); pDC->TextOut(300,350,"开开心心每一天!"); pDC->MoveTo(350,240); pDC->LineTo(350,270); 3.编译、调试和运行程序,查看程序结果。

计算机图形学

a.扫描线算法:目标:利用相邻像素之间的连贯性,提高算法效率。处理对象:简单多边形,非自交多边形(边与边之间除了顶点外无其它交点)。扫描线:平行于坐标轴的直线,一般取平行于X轴。区间:扫描线与边的交点间的线段。基本原理:将整个绘图窗口内扫描多边形的问题分解到一条条扫描线,只要完成每条扫描线的绘制就实现了多边形的扫描转换;一条扫描线与多边形的边有偶数个交点,每2个点形成一区间。步骤:(对于每一条扫描线)(1)计算扫描线与边的交点(2)交点按x坐标从小到大排序(3)交点两两配对,填充区间。算法:1、建立ET;2、将扫描线纵坐标y的初值置为ET中非空元素的最小序号,如图中,y=1;3、置AEL为空;4、执行下列步骤直至ET和AEL都为空.4.1、如ET中的第y类非空,则将其中的所有边取出并插入AEL 中;4.2、如果有新边插入AEL,则对AEL中各边排序;4.3、对AEL中的边两两配对,(1和2为一对,3和4为一对,…),将每对边中x坐标按规则取整,获得有效的填充区段,再填充.4.4、将当前扫描线纵坐标 y 值递值1;4.5、将AEL中满足y = ymax边删去(因为每条边被看作下闭上开的);4.6、对AEL中剩下的每一条边的x 递增deltax,即x = x+deltax. b.走样与反走样:走样:用离散量(像素)表示连续的量(图形)而引起的失真,称为走样,或称为混淆。光栅图形的走样现象:阶梯(锯齿)状边界、图形细节失真、狭小图形遗失:动画序列中时隐时现,产生闪烁。反走样:在图形显示过程中,用于减少或消除走样(混淆)现象的方法。方法:提高分辨率方法{方法简单,但代价非常大,显示器的水平、竖直分辩率各提高一倍,则显示器的点距减少一倍,帧缓存容量则增加到原来的4倍,而扫描转换同样大小的图元却要花4倍时间}、非加权区域采样{扫描转换线段的两点假设:像素是数学上抽象的点,它的面积为0,它的亮度由覆盖该点的图形的亮度所决定;直线段是数学上抽象直线段,它的宽度为0。而现实:像素的面积不为0;直线段的宽度至少为1个像素;假设与现实的矛盾是导致走样出现的原因之一。解决方法:改变直线段模型,线上像素灰度不等。方法步骤:1、将直线段看作具有一定宽度的狭长矩形;2、当直线段与某像素有交时,求出两者相交区域的面积;3、根据相交区域的面积,确定该像素的亮度值}、加权区域采样{权函数w(x, y),以像素A的中心为原点建立二维坐标系,w(x, y)反应了微面积元dA对整个像素亮度的贡献大小,与 dA 到像素中心距离d 成反比。实现步骤:1.求直线段与像素的相交区域2.计算的值3.上面所得到的值介于0、1之间,用它乘像素的最大灰度值,即设该像素的显示灰度。问题:计算量大。 c.为什么需要齐次坐标? 1、对多个点计算多次不同的变换时,分别利用矩阵计算各变换导致计算量大2、运算表示形式不统一:平移为“+”、旋转和放缩为“·”3、统一运算形式后,可以先合成变换运算的矩阵,再作用于图形对象。 d.Sutherland-Hodgman算法:S-H算法基本思想(亦称逐边裁剪算法):将多边形关于矩形窗口的裁剪分解为多边形关于窗口四边所在直线的裁剪。步骤:1、多边形由一系列顶点表示:V1V2…Vn2、按一定(左上右下)的次序依次裁剪; 与左边所在直线裁剪

计算机图形学课设(含所有程序图文)

计算机图形学课程设计报告 系(院):计算机科学学院 专业班级:信计11102 姓名:吴家兴 学号:201106262 指导教师:严圣华 设计时间:2014.6.16 - 2014.6.26 设计地点:10教机房

(此处目录根据自己情况可以调整改动) 一、课程设计目的 ................................................. 错误!未定义书签。 二、课程设计具体要求..................................... 错误!未定义书签。 三、需求分析与总体设计 ..................................... 错误!未定义书签。 四、详细设计与实现[含关键代码和实现界面] ... 错误!未定义书签。 五、小结......................................................................................... 错误!未定义书签。 一、课程设计目的 计算机图形学课程设计是验证、巩固和补充课堂讲授的理论知识的必要环节,通过上机实验,培养学生的自学能力、动手能力、综合运用知识解决实际问题的能力。要求学生运用计算机图形学理论与技术设计、编写、调试程序并撰写课程设计报告。 二、课程设计具体要求 1.独立完成设计并撰写课程设计报告。 2.在规定时间将程序和设计报告用附件(信计111X班XXX 图形学课设报告.RAR)发送到274548837@https://www.doczj.com/doc/5214955124.html,,并上交纸质打印稿(A4纸10页左右)。 3. 课程设计报告内容包括: (1)列出设计者姓名及本人详细信息、所用开发工具; (2)程序的基本功能介绍; (3)程序实现步骤和关键算法的理论介绍; (4)关键源代码实现说明。(不要打印全部源程序!) (5)程序运行界面截图(3幅左右) (6)课设总结和自我评价。 4.《计算机图形学》课程的知识结构体系: (1)课设为期两周:总学时为40学时,2学分 (2)学生必须完成二维线画图元和二维填充图元两个大功能。二维裁剪和二维图形变换至少实现两个内容。总共不少于10个算法。 (3)程序应做到:通用性、交互性、界面友好性!

计算机图形学 图形的几何变换的实现算法教程文件

计算机图形学图形的几何变换的实现算 法

实验二 图形的几何变换的实现算法 班级 08信计 学号 59 姓名 分数 一、实验目的和要求: 1、掌握而为图形的基本几何变换,如平移,旋转,缩放,对称,错切变换;。 2、掌握OpenGL 中模型变换函数,实现简单的动画技术。 3、学习使用OpenGL 生成基本图形。 4、巩固所学理论知识,加深对二维变换的理解,加深理解利用变换矩阵可由简单图形得到复杂图形。加深对变换矩阵算法的理解。 编制利用旋转变换绘制齿轮的程序。编程实现变换矩阵算法,绘制给出形体的三视图。调试程序及分析运行结果。要求每位学生独立完成该实验,并上传实验报告。 二、实验原理和内容: . 原理: 图像的几何变换包括:图像的空间平移、比例缩放、旋转、仿射变换和图像插值。 图像几何变换的实质:改变像素的空间位置,估算新空间位置上的像素值。 图像几何变换的一般表达式:[,][(,),(,)]u v X x y Y x y = ,其中,[,]u v 为变换后图像像素的笛卡尔坐标, [,]x y 为原始图像中像素的笛卡尔坐标。这样就得到了原始图像与变换后图像的像素的对应关系。 平移变换:若图像像素点 (,)x y 平移到 00(,)x x y y ++,则变换函数为 0(,)u X x y x x ==+, 0(,)v Y x y y y ==+,写成矩阵表达式为: 00x u x y v y ??????=+???????????? 其中,x 0和y 0分别为x 和y 的坐标平移量。 比例缩放:若图像坐标 (,)x y 缩放到( ,x y s s )倍,则变换函数为:

计算机图形学

1、名词解释:直接设备、间接设备、绝对坐标设备、相对坐标设备、离散设备、连续设备、 回显、约束、网格、引力域、橡皮筋技术、草拟技术、拖动、旋转、形变。 1)直接设备:直接设备指诸如触摸屏一类用户可直接用手指指点屏幕进行操作从而实 现定位的设备。 2)间接设备:指诸如鼠标、操纵杆等用户通过移动屏幕上的光标实现定位的设备。 3)绝对坐标设备:绝对坐标设备包括数字化仪和触摸屏,它们都有绝对原点,定位坐标 相对原点来确定。绝对坐标设备可以改成相对坐标设备,如数字化仪,只要记录当前点位置与前一点位置的坐标差(增量),并将前一点看成是坐标原点,则数字化仪的定位范围也可变成无限大。 4)相对坐标设备:相对坐标设备可指定的范围可以任意大,然而只有绝对坐标设备才能 作为数字化绘图设备。 5)离散设备:键控光标则为离散设备。使用离散设备也难以实现精确定位。 6)连续设备:把手的连续运动变成光标的连续移动,鼠标、操纵杆、数字化仪等均为此 类设备。连续设备比离散设备更自然、更快、更容易用,且在不同方向上运动的自由度比离散设备大。使用离散设备也难以实现精确定位。 7)回显:回显作为一种最直接的辅助方式,大部分交互式绘图过程都要求回显。比如 在定位时,用户不仅要求所选的位置可在屏幕上显示出来,还希望其数据参数也在屏幕上显示,这样可以获得精确位置来调整定位坐标。在选择、拾取等过程中,用户也都希望能够直观地看到选择或拾取的对象以便确认。 8)约束:约束是在图形绘制过程中对图形的方向、对齐方式等进行规定和校准。约束 方式有多种,最常用的约束是水平或垂直直线约束,使用户可以轻松地绘制水平和垂直线而不必担心线的末端坐标的精度范围。另外,其他类型的约束技术用于产生

计算机图形学在实际中的应用

计算机图形学在实际中的应用 1963年,伊凡?苏泽兰在麻省理工学院发表了名为《画板》的博士论文,它标志着计算机图形学的正式诞生。至今已有四十多年的历史。此前的计算机主要是符号处理系统,自从有了计算机图形学,计算机可以部分地表现人的右脑功能了,所以计算机图形学的建立具有重要的意义。现在计算机图形学有了长足的发展。 对于我们目前来说,计算机图形学能让我们感受到的主要在游戏和电影上的应用。比如《魔兽世界》、《使命召唤》等各类大型3D游戏,以及《阿凡达》等3D电影。我们享受着计算机图形学快速发展带来的各种便利中。 在电脑游戏中,计算机图形学的首要任务就是实现电脑游戏中的虚拟场景,这主要通过在计算机中重现真实世界场景来实现。游戏编程的主要任务是要模拟真实物体的物理属性,即物体的形状,光学性质,表面的纹理和粗糙程度,以及物体间的相对位置、遮挡关系等等。其中,光照和表面属性是最难模拟的。为了模拟光照,已有各种各样的光照模型。从简单到复杂排列分别是:简单光照模型、局部光照模型和整体光照模型。从绘制方法上看有模拟光的实际传播过程的光线跟踪法,也有模拟能量交换的辐射度方法。除了在计算机中实现逼真物理模型外,电脑游戏中图形学应用的另一个研究重点是加速算法,力求能在最短时间内绘制出最真实的场景,提高游戏的流畅度。 计算机图形学不仅在我们的娱乐中给我们带来越来越逼真的体验。没有计算机图形学的快速发展,iphone、android等智能手机将不能给我们带来现在这样好的体验。其实计算机图形学的在我们生活中的应用领域非常的广。 计算机图形学还应用在科学计算可视化方面。在数值仿真、气象卫星、石油勘探、遥感卫星、医学影像、蛋白质分子结构等都会产生大量的数据,即使是专业人员也们很难从一大堆枯燥乏味的数字中迅速发现其内在规律和变化趋势。计算机图形学帮助科技人员更直观形象地理解大规模数据所蕴涵的科学现象和规律。比如我现在正在学习的数字信号处理这门课程,全部都是对数据的分析处理,如果没有MatLab这个计算软件的话,学习将比现在还痛苦。而Matlab就是计算机图形学在科技计算方面的一个软件。它的全称叫做MA Trix LABoratory,将成为21世纪的语言。 现在在电子设计方面,国内外基本上全部转移到计算机上来。各种电路仿真软件,电路设计软件,极大的方便了硬件的设计。EDA技术的快速发展,也是由于计算机图形学的快速发展而产生的。也是计算机图形学的一个应用领域:计算机辅助设计和计算机辅助制造。 在工程和产品设计中,计算机可以帮助设计人员担负计算、信息存储和制图等项工作。在设计中通常要用计算机对不同方案进行大量的计算、分析和比较,以决定最优方案;各种设计信息,不论是数字的、文字的或图形的,都能存放在计算机的内存或外存里,并能快速地检索;设计人员通常用草图开始设计,将草图变为工作图的繁重工作可以交给计算机完成;利用计算机可以进行与图形的编辑、放大、缩小、平移和旋转等有关的图形数据加工工作。 在计算机辅助制造这一应用中,对于机械制造业,利用电子数字计算机通过各种数值控制机床和设备,自动完成离散产品的加工、装配、检测和包装等制造过程,极大的减轻人

计算机图形学显示变换算法具体程序实现

数学与软件科学学院实验报告 学期:___2010 至_2011 第__一__ 学期2010年12月21日课程名称:____计算机图形学 _____ 专业:__信息与计算科学_ 2007级_5_班实验编号: 07 实验项目_____显示变换__ 指导教师__庞朝阳_ 姓名:学号: 20070605 __ 实验成绩:_____ 实验目的: (1) 了解掌握显示变换的相关知识,知道什么是平行投影和透视投影; 实验内容: (1) 知道显示变换是什么; (2) 掌握平行投影变换; (3) 掌握透视投影变换; (4) 编写并执行简单的Prolog程序,并熟悉测试或调试的方法。 实验步骤: (1)显示变换 三维空间中的物体要在二维的屏幕显示出来,必须通过投影的方式把三维物体转换成二维的平面图形。投影的方式有平行投影,透视投影。 平行投影变换 (2)平行投影变换 平行投影可根据投影方向与投影面的夹角分为:正投影和斜投影。当投影方向与投影面垂直时,为正投影;否则为斜投影。 A.正投影 1.假设投影平面垂直于Z轴,且位于Z=Z0外,则在视坐标系中任意一点 (X,Y,Z)的投影是过该点的投影线与投影平面的交点,如下图: P(x,y,z) p`(x`,y`,z`) Z0 Z 则空间点的坐标与投影坐标间关系为: x`=x , y`=y , z`=z 即 ` ` ` 1 x y z = 000 0100 0000 0001 Z . 1 x y z 2.

`` ` 1 x y z = 1000010000000001 . 1 x y z 即平面投影的变换矩阵为: Mz (平)= 10000 100 00000 1 同理可得: 在y0z 平面的投影变换矩阵为: Mx(平) = 00000 10000000001 在x0z 平面的投影变换矩阵为: My(平) = 10000 00000100 2.斜投影 如下图 求空间中任意一点D (x,y,z )在斜面ABC 上的投影。 Step1:确定一定Q,并过P 作斜面的法向量n 。 X Z Y A C B P

计算机图形学

沈阳工业大学 软件学院 虚拟现实技术的发展与应用 学生姓名:汤常珩 学号:141201206 专业班级:1402 指导教师:马广焜

二零一六年九月二十一日 虚拟现实技术的发展与应用 摘要 虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统它利用计算机生成一种模拟环境是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。虚拟现实技术是仿真技术的一个重要方向是仿真技术与计算机图形学人机接口技术多媒体技术传感技术网络技术等多种技术的集合是一门富有挑战性的交叉技术前沿学科和研究领域。虚拟现实技术(VR)主要包括模拟环境、感知、自然技能和传感设备等方面。模拟环境是由计算机生成的、实时动态的三维立体逼真图像。 关键词:虚拟现实;模拟;仿真技术

目录 第一章引言 (4) 第二章发展历史 (4) 第三章关键技术 (4) 3.1显示 (5) 3.2 声音 (5) 3.3 语音 (5) 第四章应用 (6) 4.1 医学 (6) 4.2 军事 (7) 4.3 游戏 (7) 第五章结论 (8) 参考文献 (8)

第一章引言 虚拟现实(Virtual Reality,VR)是以计算机技术为核心,结合相关科学技术,生成与一定范围真实环境在视、听、触感等方面高度近似的数字化环境,用户借助必要的装备与数字化环境中的对象进行交互作用、相互影响,可以产生亲临对应真实环境的感受和体验。虚拟现实是人类在探索自然、认识自然过程中创造产生,逐步形成的一种用于认识自然、模拟自然,进而更好地适应和利用自然的科学方法和科学技术。随着社会生产力和科学技术的不断发展,各行业对VR技术的需求日益旺盛,人们对VR技术的研究日益重视,VR技术也取得了巨大进展,并逐步成为一个新的科学技术领域。 第二章发展历史 1956年,Heileg M. 开发了一个摩托车仿真器Sensorama,具有三维显示及立体声效果,并能产生振动感觉。他在1962年的“Sensorama Simulator”专利已具有一定的VR技术的思想。 计算技术和计算机的小型化的发展,推动了仿真技术的发展,逐步形成了计算机仿真科学技术学科。1965年,计算机图形学的重要奠基人Sutherland博士发表了一篇短文“The ultimate display“,以其敏锐的洞察力和丰富的想象力描绘了一种新的显示技术。他设想在这种显示技术支持下,观察者可以直接沉浸在计算机控制的虚拟环境之中,就如同日常生活在真实世界一样。同时,观察者还能以自然的方式与虚拟环境中的对象进行交互,如触摸感知和控制虚拟对象等。Sutherland的文章从计算机显示和人机交互的角度提出了模拟现实世界的思想,推动了计算机图形图像技术的发展,并启发了头盔显示器、数据手套等新型人机交互设备的研究。 1966年,Sutherland I. E. 等开始研制头盔式显示器,随后又将模拟力和触觉的反馈装置加入到系统中。1973年,Krueger M. 提出了“Artificial Reality”一词,这是早期出现的VR词语。由于受计算机技术本身发展的限制,总体上说20世纪六七十年代这一方向的技术发展不是很快,处于思想、概念和技术的酝酿形成阶段。 20世纪90年代以后,随着计算机技术与高性能计算、人机交互技术与设备、计算机网络与通信等科学技术领域的突破和高速发展,以及军事演练、航空航天、复杂设备研制等重要应用领域的巨大需求,VR技术进入了快速发展时期。[1] 第三章关键技术

计算机图形学基础教程习题课1(第二版)(孙家广-胡事民编著)

1.列举计算机图形学的主要研究内容。 计算机中图形的表示方法、图形的计算、图形的处理和图形的显示。 图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。 2.常用的图形输出设备是什么? 显示器(CRT、LCD、等离子)、打印机、绘图仪等。 2.常用的图形输入设备是什么? 键盘、鼠标、跟踪球、空间球、数据手套、光笔、触摸屏、扫描仪等。 3.列出3种图形软件工具。 AutoCAD、SolidWorks、UG、ProEngineer、CorelDraw、Photoshop、PaintShop、Visio、3DMAX、MAYA、Alias、Softimage等。 错误:CAD 4.写出|k|>1的直线Bresenham画线算法。 d d d d 设直线方程为:y=kx+b,即x=(y-b)/k,有x i+1=x i+(y i+1-y i)/k=x i+1/k,其中k=dy/dx。因为直线的起始点在象素中心,所以误差项d的初值d0=0。y下标每增加1,d的值相应递增1/k,即d=d+1/k。一旦d≥1,就把它减去1,这样保证d在0、1之间。 ●当d≥0.5时,最接近于当前象素的右上方象素(xi+1,y i+1),x方向加1,d减 去1; ●而当d<0.5时,更接近于上方象素(x i,yi+1)。

为方便计算,令e=d-0.5,e的初值为-0.5,增量为1/k。 ●当e≥0时,取当前象素(x i,y i)的右上方象素(xi+1,y i+1),e减小1; ●而当e<0时,更接近于上方象素(xi,yi+1)。 voidBresenhamline (int x0,int y0,intx1, inty1,int color) { int x,y,dx,dy; float k,e; dx= x1-x0, dy = y1-y0,k=dy/dx; e=-0.5, x=x0, y=y0; for (i=0; i≤dy; i++) {drawpixel(x, y,color); y=y+1,e=e+1/k; if (e≥0) { x++, e=e-1;} } } 4.写出|k|>1的直线中点画线算法。 构造判别式:d=F(M)=F(xp+0.5,y p+1)=a(x p+0.5)+b(yp+1)+c ●当d<0,M在Q点左侧,取右上方P2为下一个象素; ●当d>0,M在Q点右侧,取上方P1为下一个象素; ●当d=0,选P1或P2均可,约定取P1为下一个象素;

计算机图形学发展

计算机图形学的发展 1963年,伊凡?苏泽兰(Ivan Sutherland)在麻省理工学院发表了名为《画板》的博士论文,它标志着计算机图形学的正式诞生。至今已有三十多年的历史。此前的计算机主要是符号处理系统,自从有了计算机图形学,计算机可以部分地表现人的右脑功能了,所以计算机图形学的建立具有重要的意义。近年来,计算机图形学在如下几方面有了长足的进展: 1、智能CAD CAD 的发展也显现出智能化的趋势,就目前流行的大多数CAD 软件来看,主要功能是支持产品的后续阶段一一工程图的绘制和输出,产品设计功能相对薄弱,利用AutoCAD 最常用的功能还是交互式绘图,如果要想进行产品设计,最基本的是要其中的AutoLisp语言编写程序,有时还要用其他高级语言协助编写,很不方便。而新一代的智能CAD 系统可以实现从概念设计到结构设计的全过程。例如,德国西门子公司开发的Sigraph Design软件可以实现如下功能:(1)从一开始就可以用计算机设计草图,不必耗时费力的输入精确的坐标点,能随心所欲的修改,一旦结构确定,给出正确的尺寸即得到满意的图纸;(2)这个软件中具有关系数据结构,当你改变图纸的局部,相关部分自动变化,在一个视图上的修改,其他视图自动修改,甚至改变一个零件图,相关的其它零件图以及装配图的相关部分自动修改:(3)在各个专业领域中,有一些常用件和标准件,因此,希望有一个参数化图库。而Sigraph不用编程只需画一遍图就能建成自己的图库;(4)Sigraph还可以实现产品设计的动态模拟用于观察设计的装置在实际运行中是否合理等等。智能CAD的另一个领域是工程图纸的自动输入与智能识别,随着CAD技术的迅速推广应用,各个工厂、设计院都需将成千上万张长期积累下来的设计图纸快速而准确输入计算机,作为新产品开发的技术资料。多年来,CAD 中普遍采用的图形输入方法是图形数字化仪交互输入和鼠标加键盘的交互输入方法.很难适应工程界大量图纸输入的迫切需要。因此,基于光电扫描仪的图纸自动输入方法已成为国内外CAD工作者的努力探索的新课题。但由于工程图的智能识别涉及到计算机的硬件、计算机图形学、模式识别及人工智能等高新技术内容,使得研究工作的难点较大。工程图的自动输入与智能识别是两个密

计算机图形学画圆算法源程序

#include void CirclePoint(int x, int y, int color, int m ) { putpixel(x+m, y+m, color); putpixel(y+m, x+m, color); putpixel(-y+m, x+m, color); putpixel(-x+m, y+m, color); putpixel(-x+m, -y+m, color); putpixel(-y+m, -x+m, color); putpixel(y+m, -x+m, color); putpixel(x+m, -y+m, color); } void MidBresenhamCircle(int r,int color, int m) { int x, y, d; x=0; y=r; d=1-r; while(x<=y) { CirclePoint(x, y, color, m); if(d<0) d+=2*x+3; else { d+=2*(x-y)+5; y--; } x++; } } void main() { int gdriver,gmode,a,b,c; gdriver=DETECT; initgraph(&gdriver,&gmode,"C:\\TC20\\BGI"); printf("qing shu ru\n"); scanf("%d,%d,%d",&a,&b,&c) setbkcolor(0); MidBresenhamCircle(a, b, c); getch(); closegraph(); }

计算机图形学教程课后习题参考答案

第一章 1、试述计算机图形学研究的基本内容? 答:见课本P5-6页的1.1.4节。 2、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。 答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。计算机图形学研究的是从数据描述到图形生成的过程。例如计算机动画制作。 图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。例如工业中的射线探伤。 模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。 3、计算机图形学与CAD、CAM技术关系如何? 答:见课本P4-5页的1.1.3节。 4、举3个例子说明计算机图形学的应用。 答:①事务管理中的交互绘图 应用图形学最多的领域之一是绘制事务管理中的各种图形。通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。 ②地理信息系统 地理信息系统是建立在地理图形基础上的信息管理系统。利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形。 ③计算机动画 用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解

5、计算机绘图有哪些特点? 答:见课本P8页的1.3.1节。 6、计算机生成图形的方法有哪些? 答:计算机生成图形的方法有两种:矢量法和描点法。 ①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线。尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。 ②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。当像素点具有多种颜色或多种灰度等级时,就可以显示彩色图形或具有不同灰度的图形。 7、当前计算机图形学研究的课题有哪些? 答:见课本P10-11页的1.4节。 8、简述三维图形生成和输出的流水线? 答:见课本P13页1.5.6.节。 9、向量图形和点阵图形之间的区别有哪些? 答:通过矢量法产生的图形称为矢量图形或者向量图形,用描点法产生的图形称为点阵图形。向量图形区别点阵图形的特点在于描述图形几何形状的数学模型及依据此模型生成几何图形的计算机命令。向量图形由各个基本图形构成,这就要求各个基本图形有各自独立的信息。如果用点阵图形来表示一个向量图形,构成向量图形的某个基本图形(如直线段、圆弧等)的所有点应有一个信息。因此,在描述一个基本图形时,同时要描述其相应的信息。向量图形最基本的优点是它本身是由精确的数据给出,所以可以充分利用各种输出图形设备的分辨率尽可能精确地输出图形。也正因为如此,向量图形的尺寸可以任意变化

相关主题
文本预览
相关文档 最新文档