计算机图形学总结_第1页
计算机图形学总结_第2页
计算机图形学总结_第3页
计算机图形学总结_第4页
计算机图形学总结_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图形学简介

1.1、解释计算机图形学中图形与图像两个概念的区别。

答:图形是指由外部轮廓线条构成的矢量图。即由计算机绘制的

直线、圆、矩形、曲线、图表等;而图像是由扫描仪、摄像机等输入

设备捕捉实际的阿面产生的数字图像,是由像素点阵构成的位图。(白

度知道)

•从广义上说,凡是能够在人的视觉系统中形成视觉印象的客观

对象都称为图形。它包括人年说观察到的自然界的景物,用照相机等

设别所获得的图片,用绘图工具绘制的工程图,各种人工美术绘画和

用数学方法描述的图形等。

•图形学中的图形一般是指由点、线、面、体等几何要素(geometric

attribute)和明暗、灰度(亮度)、色彩等视觉要素(visualattribute)

构成的,从现实世界中抽象出来的图或形。图形强调所表达对象的点、

线、面、结构等几何要素。

•而图像则只是指一个二维的像素集合,至于这个集合所构成的

图案的意义、几何元素等,计算机并不知晓。可以一条直线作比方来

说明。

1.2.解释“计算机图形学”研究的主要内容。

答:是一种使用数学算法将二维或三维图形转化为计算机显示器

的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研

究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理

和显示的相关原理与算法。(百度百科)

•Modeling建模

构建三维模型的场景

•Rendering绘制(渲染)

渲染的三维模型,计算每个像素的颜色。颜色是有关

照明,环境,对象材料等。

•Animation动画

1.3、能列举计算机图形学的一些应用实例。

答:CAD工业制造仿真、电影特效合成、3D动画、3D游戏

2、GraphicDevicesinComputerSystem

2.1、了解图形输出设备中“阴极射线管(CRT)”的主要工作原理。

答:显示屏、电子枪、和偏转控制装置三部分组成。当灯丝被加

热时,电子枪阴极释放出电子,电子经过聚焦系统和加速系统后形成

电子束,经过偏转控制装置时轨迹发生变化,打在显示屏磷粉涂层上

发光。

•Storing:为每个象素设置一个电容维持一定的电压,使象素持

续发光。

•Refresh:不断重复轰击像素,使其不断重复发光;由于人眼的

视觉暂留效应,就会产生象素持续发光的印象。

2.2、解释“随机扫措显示器”与“光栅扫描显示器”的不同。

答:随机扫描显示器显示图形时,电子束的移动方式是随机的,电

子束可以在任意方向上自由移动,按照显示命令用画线的方式绘出图

形,因此也称矢量显示器。而光栅扫描显示器显示图形时,电子束依

照固定的扫描线和规定的扫描顺序进行扫描。电子束先从荧光屏左上

角开始,向右扫一条水平线,然后迅速地回扫到左边偏下一点的位置,

再扫第二条水平线,照此固定的路径及顺序扫下去,直到最后一条水

平线,即完成了整个屏幕的扫描。随机扫描显不器依靠显示文件对屏

幕图形进行刷新;光栅扫描显示器则依靠帧缓存实现对屏幕图形的刷

新。

•随机扫描显示器(向量显示器):挖制电路比较复杂,不适于

显示非常复杂的图像,已基本被淘汰。

•光栅扫描显示器:似乎很笨,但控制简单,可绘制任意复杂

的图像,故远远优于vectordisplay;出现以后迅速成为主流,并大

大促进了图形学的发展(因其能够绘制任意复杂的图像)。也有采用

隔行扫描的,即先扫描所有偶数行,再扫描所有奇数行。

2.3、理解有关光栅扫描显示器的一些主要概念:光栅、像素、扫描

线、分辨率(resolusion)、

帧缓存(framebuffer)>刷新频率(refreshrate)。

光栅:一个点或点的矩形阵列

像素:一个点或图片元素的光栅

扫描线:一个像素行

分辨率:该点没有可显示的最大数目重叠的CRT被称为该决议

帧缓存:图片定义存储在一个称为帧缓冲区或刷新缓冲区的内存

刷新率:在其中一张照片是在屏幕上绘制频率称为刷新率

3、AlgorithmsforDrawing2DPrimitives

3.1解释DDA算法的原理,并写出DDA算法的主要流程

答:取整

voidlineDDA(intxs,intysyintxe,intye)

(

intk=abs(xe-xs);

if(abs(ye-ys)>k)thenk=abs(ye-ys);

floatxincre=(xe-xs)/k;

floatyincre=(ye-ys)/k;

floatx,y;

for(i=l;i<=k;i++){

setPixel(round(x),round(y));

x=x+xincre;

y=y+yincre;

)

}

3.2解释Bresenham直线算法的基本原理

3.3解释Bresenham画圆算法的基本原理

3.4解释中点圆算法(Midpointcirclealgorithm)的基本原理

4、Scan-lineConversionandAreaFilling

4.1解释何为扫描转换,解释何为区域填充,两者的区别是什么?

答:光栅图形的一个基本问题是把多边形的顶点表示转换为点阵

表不,这种转换称为多边形的扫描转换。区域填充指先将区域的一点

赋予指定的颜色,然后将该颜色扩展到整个区域的过程。多边形的扫

描转换主要是通过确定穿越区域的扫描线的覆盖区间来填充。区域填

充是从给定的位置开始涂描直到指定的边界条件为止。

1.基本思想不同:多边形的扫描转换是指将多边形的顶点表示转

换成点阵表示。在扫描转换过程中利用了多边形各种形式的连贯性。

区域填充只改变区域的颜色,不改变区域凶表示方法。在填充过程中

利用了区域的连通性。

2.算法的要求不同:在区域填充中要求指定区域内的一点为种子

点,然后从这点开始对区域进行着色。对多边形的扫描转换没有这个

要求。

3.对边界的要求不同:在多边形的扫描转换中要求每一条扫描线

与多边形边界的交点个数是偶数。在区域填充中要求4连通区域的边

界为封闭的8连通区域,而8连通区域的边界为封闭的4连通区域。

4.2理解扫描线填充算法(Scan-linePolygonFillAlgorithm)的基本步骤

答:求出扫描线与多边形边的交点2)将交点按照x升序排列3)

将排好序的交点两两配对,然后绘制相应线段。

4.2.1数据结构的使用

答:边的分类表(EdgeTable,ET);边的活化链表(ActiveEdgeList,

AEL)

422奇点的处理方法

一是当扫描线与顶点相交时,交点的取舍。当与那个顶点关联的

边在扫描线同侧时,交点自然算两次,当与那个顶点关联的边在扫描

线两侧时,交点只能算一次。我们使用“下闭上开”的办法。

二是多边形边界上的像素取舍,我们采用“左闭右开”的办法。

4.3理解何为四连通区域和八连通区域

答:4-连通区域:从区域上的一点出发,通过访问已知点的4-邻

接点,在不越出区域的前提下,遍历区域内的所有象素点。

8-连通区域:从区域上的一点出发,通过访问已知点的8-邻接点,

在不越出区域的前提下,遍历区域内的所有象素点。

4.4解释在光栅化显示中,何为走样?走样的原因是什么?列举出“走

样”可能造成的显示问题

定义:用离散量表示连续量引起的失真,就叫做走样(Aliasing)。

原因:数学意义上的图形是由无线多个连续的、面积为零的点

构成;但在光栅显示器上,用有限多个离散的,具有一定面积的象素

来近似地表示他们。

走样造成的显示问题:一是光栅图形产生的阶梯形。一是图形中

包含相对微小的物体时,这些物体在静态图形中容易被丢弃或忽略,

在动画序列中时隐时现,产生闪烁。

4.5解释克服“走样”的两类方法

以面积采样代替点采样(边界使用过度色阶)超采样

(高分辨率计算,低分辨率显示)

5、GraphicsPipeline(图形流程)

5.1>画出目前计算机中图形显示的主要流程(GraphicsPipeline),

并解释各模块的主要任务。

答:流程:变换(Transformation)>光栅化(Rasterization)>

片元处理(Fragmentoperations)、帧缓存(Framebuffer)

3Dmodel02Dgraph——transformation(vertexoperations)

2Dgraph02Dimage——rasterizationandfragmentoperations

PerAfertex

operations

Evaluatorsandprimitive

assembty

受授(TraWormarin)Fragm*operafionst

[丽斐操TextirrfdcbiDg

工帮F/caoibtioo

AJp5tsi

DtfHhtest

5o~BWodi>t

q覆口受投

5.2图形流程中Transformation所要完成的任务是什么,它包含哪几

个主要过程?

任务是将三维模型转换为二位图表

主要过程有:几何变换、投影变换、裁减、窗口到视口的

变换

5.2.1、写出平里春埒用n州甲掰放缩变换(:Sea怦您J常喷式

平移变换j°

nn1?A-?

522、能够推出图形绕某一坐标轴旋转的矩阵表达式

Rotationrelativetothey-axisandx-axis

x-rcos^

y=rsintp

x'=rcos@-a)=rcos8cosa-rsin。sina

y'=rsin(^+a)=rcos^sina+rsineicosa

x'=xcos6-ysind

{y'=xsind+ycos。

z'=z

523、解释几何变换中为何需要采用齐次坐标系,能够写出上述变换

矩阵的齐次坐标表达形式

许多图形应用涉及到几何变换,主要包括平移、旋转、缩

放。以矩阵表达式来计算这些变换时,平移是矩阵相加,旋转

和缩放则是矩阵相乘,综合起来可以表示为p'=m1*p+

m2(m1旋转缩放矩阵,m2为平移矩阵,p为原向量,p,

为变换后的向量)。

引入齐次坐标的目的主要是合并矩阵运算中的乘法和加

法,表示为p'=M*p的形式。即它提供了用矩阵运算把二维、

三维甚至高维空间中的一个点集从一个坐标系变换到另一个

坐标系的有效方法。

平移:),,=010),+Ay

‘',2001Azz

Jz'1J00I1Jz1JAz1100011

缩放:

旋转:

524、能够写出物体经过连续变换后的组合矩阵

525、理解全局变换与局部变换的区别,解释OpenGL中所采用的变

换矩阵结合方式

♦Globaltransformation

1.每一次变换均可以看成是相对于原始坐标系执行的

2.我们前面讲的平移、放缩和旋转矩阵实现的都是全局变换

♦Localtransformation

1.每一次变换均可以看成是在上一次变换所形成的新的坐标系中

进行

2.可以通过颠倒矩阵相乘的顺序来实现局部变换

每次的变换矩阵都乘在原矩阵的右侧,而最后变换顶点时,顶点

也乘在总体变换矩阵的右侧。这样就造成J'先调用的变换实际上是后

执行的,因而如果是按照OpenGL的变换语句的顺序来理解的话,其

效果应当是局部变换的效果。因此,如果按照变换语句的顺序来理解

的话,OpenGL采用的是localtransformation

526、写出OpenGL中有关几何变换的相关函数

voidglTranslated(doublex,doubley,doublez)〃平移

voidglScale{fd}(TYPESx,TYPESytTYPESz)〃缩放

voidgIRotate{fd}(TYPEangle,TYPEx,TYPEy,TYPEz);〃旋转

5.3、投影变换(Projection)

5.3.1、解释何为透视投影,何为平行投影

一个点光源把一个图形照射到一个平面上、这个图形的影子就

是它在这个平面上的中心投影,中心投影后的图形与原图形相比虽

然改变较多、但直观性强、看起来与人的视觉效果一致。

有时光线是一组互相平行的射线,例如太阳光或探照灯光的一

束光中的光线。由平行光线形成的投影是平行投影(parallel

projection).

5.3.2、写出OpenGL中关于这两种投影方式的函数

透视投影:voidglFrustum(...);

voidgluPcrspcctivc(...);

平行投影:voidglOrtho();

裁剪

裁剪操作对编程人员来说是隐藏的;目前图形流水线中的裁剪发

生在投影变换之前。裁剪之后往往就不是以前的多边形了,可能变成

了一个或多个多边形。OpenGL中是三维裁剪。

5.4、窗口到视口的变换

5.4.1理解窗口到视口的变换过程

5.4.2如何才能使绘制的物体不会因“窗口到视口的变换”而变形?

6、OpenGL

6.1、“OpenGL是一个状态机”,这句话如何解释?

整个绘制操作会按照固定的流程进行,仿佛一台虚拟的机器。

OpenGL函数只是用来设置这台虚拟机器的一些状态参数,而并

不是用来真正执行绘制操作的。

6.2、OpenGL中的模型变换(Model-ViewTransformation)采用了栈来

管理变换矩阵,解释glLoadldentityO,glPushMatrix。和glPopMatrix()

这三个栈管理函数的作用

glLoadldentityO—Setthestacktopasanunitmatrix(使栈

顶矩阵为单位矩阵)

glLoadldentityO

glPushMatrix()将栈顶矩阵复制一份,入栈.

glPopMatrix()退栈.

国gIPusliMatrixO

6.3、给出一段模型变换的例程,可以解释它所完成的变换操作

6.4、如何计算一个面片的法向?

Normaliscloselyrelatedtothelightingcomputation

(法向与光照计算紧密相关);Normalsshouldbegivenby

programmers

Thenormaloftrangle(vl,v2,v3):

vectorl=v2-vl;

vector2=v3-vl;

NormalVectoristhecrossproductofvectorlandvector2

7、Visible-SurfaceDetection(消隐)

7.1、解释图形显示中为何需要消隐处理

在绘制时需要消除被遮挡的不可见的线或面,习惯上称作消除隐

藏线和隐藏面,简称为消隐。

消除二义性提高绘制效率

7.2、何为depthbuffer?理解z-buffcr方法的原理

Z轴缓冲也被称为深度缓冲,它保存在屏幕上每个像素的深度值。

在把显示对象的每个面上每一点的颜色值填入帧缓冲器相应单元前,

要把这点的z坐标值和z缓冲器中相应单元的值进行比较。只有前者

大于后者时才改变帧缓冲器的那一单元的值,同时z缓冲器中相应单

元的值也要改成这点的Z坐标值。如果这点的Z坐标值小十Z缓冲器

中的值,则说明对应象素已经显示了对象上一个点的属性,该点要比

考虑的点更接近观察点。

对显示对象的每个面上的每个点都做了上述处理后,便可得到消除了

隐藏面的图。

注意:如果当前像素的深度和深度缓存中的值相等,那么也认为当前

像素被挡住了。

•Z-Buffer算法在像素级上以近物取代远物。面片在屏幕上的出现顺

序是无关紧要的。

这种取代方法实现起来远比总体排序灵活简单,有利于硬件实现;

缺点:占用空间大,没有利用图形的相关性与连续性

8、Photo-realisticRenderinginComputerGraphics

8.1、写出Phong光照明模型,理解模型中三个部分的意义及计算方

法,并能解释各部分参数的含义

IlluminationModel(光照明模型)----Ambient+Diffuse+

Specular

I=kala+kdIICOsO+AsIicos"①-kalaAdh(N.L)+ksh

(R・V)〃

Phong光照明模型

1.Diffusereflection(漫反射)

漫反射光可以认为是光穿过物体表面层被部分吸收后,重新

发射出来的光。因此漫反射光均匀地散布在各个方向.观察者不论站

在哪一方位上.他所观察到的漫射光的强度均相等。粗糙的物体表面

可以理解为由一系列各向异性的微小平面陶成的,这些平面将把光线

反射到不同的方向上。由于这些微小平面的数量相当多,因此,从总

体上可视为光线均匀地反射到各个方向。越斜的灯光,反射之强度越

弱。

点光源.

■LamerfsCosineLaw:I=kJcos3=kdIt(N.L)

kdisthediffuse-reflectioncoefficient(漫反射系数)or

diffusedreflectivity(漫反射率);e[0,1]

N.L计算的就是法向和光线方向夹角的cos值。K”反映了当前物

体表面的反射属性。

I,II和kd都可以分解为针对R,GB的三个分量。

2.SpecuIar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论