点阵图像与矢量图像的计算机记录原理,图形图像学

第一章 导论

1.关于计算机图形学的含义(填空、选择、判断)?

计算机图形学是一种使用图形生成原理和算法将二维或三维图形转化为光栅化的计算机显示的学科。

2.关于图形分类及举例?

图形主要分为两类,一类是基于线条表示的几何图形,如线框图、工程制图、等高线地图等,另一类是基于光照、材质和纹理映射表示的真实感图形。

3.关于图形的表示方法(两种)?

图形的表示方法有两种:参数法和点阵法。参数法是在设计阶段采用几何方法建立数学模型时,用形状参数和属性参数描述图形的一种方法。形状参数可以是线段的起始点和终止点等几何参数,属性参数则包括颜色、线型、宽度等非几何参数。点阵法是在实现阶段用具有颜色信息的像素点阵来表示图形的一种方法,描述的图形常为图像。

4.图形与图像的区别?

用参数法描述的图形依旧成为图形。用具有颜色信息的像素点阵来表示图形的一种方法,描述的图形常为图像。

5.图形学的另一种解释?

计算机图形学就是研究将图形的表示法从参数法转换到点阵法的一门学科。

6.阴极射线管组成(五部分)?

阴极射线管(CRT cathode ray

tube),包括电子枪、聚焦系统、偏转系统、荧光粉层和玻璃外壳5个部分。

7.什么是分辨率及其特性?

CRT的一个重要技术指标是分辨率,即CRT在水平方向和垂直方向的单位长度上能识别出的最大光点数。显然对于相同尺寸的屏幕,光点数越多,光点间距离越小,屏幕分辨率越高,显示的图像就会越精细。

8.名词解释:点阵法、参数法、图形、图像的含义?

_点阵法是在实现阶段用在具有颜色信息的像素点阵来表示图形的一种方法。_参数法是在设计阶段采用几何方法建立数学模型时,用形状参数和属性参数描述图形的一种方法,形状参数可以是线段的起始点和终止点等几何参数,属性参数则包括线段的颜色、线型和宽度等非几何参数。图形是使用参数法描述的矢量图,图像是使用点阵法描述的位图。

第二章 visual

C++绘图基础

1.什么是CDC类?

(1)在Windows平台上,应用程序的图形设备接口GDI被抽象化为设备上下文DC。{GDI:graphics device interface,DC:device context}。在微软基类库MFC中,CDC类是定义设备上下文对象的基类,所有的绘图函数都是在CDC基类中定义。当需要输出文字或图形时,就需要调用CDC类的成员函数。,这些成员函数具备输出文本、绘制图形等功能。(2)CDC类,CDC类派生了CClientDC类(显示器客户区设备上下文类)、CMetaFileDC类(Windows图元文件设备上下文类)、CPaintDC类(成员函数OnPaint中使用的显示器上下文类)和CWindowDC类(整个窗口区域的显示器设备上下文类,包括客户区和非客户区)。

2.例2.4、例2.5

(例2.4):在屏幕的(20,20)坐标位置处绘制一个红色像素点。然后取出该像素点的颜色,在屏幕的(60,20)坐标处绘制一个相同颜色的像素点,效果如图。

void

CTestView::OnDraw(CDC*pDC)

{CTestDoc*pDoc=GetDocument();

ASSERT_VALLD(pDoc);

COLORREF c;

pDC->SetPixel(20,20,RGB(255,0,0));//绘制像素

c=pDC->GetPixel(20,20);//读取像素

pDC->SetPixel(60,20,c);}

第一行语句声明一个COLORREF变量c,用于存放像素点的颜色值。第二行语句在屏幕的(20,20)坐标位置处,绘制一个红色的像素点。第三行语句用变量c保存该像素点的颜色,第四行语句在像素点(60,20)处以颜色值c绘制一个像素点。

(例2.5):从屏幕的店(20,30)~(200,300)画一条一像素宽的蓝色直线,效果如图。

void

CTestView::OnDraw(CDC*pDC)

{CTestDoc*pDoc=GetDocument();

ASSERT_VALLD(pDC);

CPent MyPen,*OldPen;

MyPen.CreatePen(PS_SOLID,1,RGB(0,0,255));

OldPen=pDC->SelectObject(&MyPen);

pDC->MoveTo(20,30);

pDC->LineTo(200,300);

pDC->SelectObject(OldPen);

MyPen.DeleteObject();}

第一行语句定义了一个CPen类的画笔对象MyPen和一个画笔类对象指针OldPen。第二行语句调用CreatPen()函数,创建风格为实践、宽度为一个像素的蓝色画笔。第三行语句调用SelectObject()函数,用新画笔替换原画笔,同时将指向原画笔的指针返回给OldPen,以备新画笔用完之后可以用OldPen来将设备上下文恢复原状。第四行语句将当前点移动到起点(20,30)。第五行语句从当前点画直线到终点(200,300)。第六行语句在新画笔使用完毕后,调用SelectObject()函数用原画笔将设备上下文恢复原状。第七行语句是新画笔使用完毕后,调用DeleteObject()函数将已成自由状态的新画笔从内存中清除。

第三章 基本图形的扫描转换

1.什么是直线的扫描转换?

直线的扫描转换就是在屏幕像素点阵中用指点颜色点亮最佳逼近于理想直线的像素点集的过程。

2.直线的中点bresenham算法原理是什么?

直线的中点bresenham算法原理即,每次在主位移方向上走一步,另一个方向上走不走步取决于中点偏差判别式的值。直线的隐函数方程为:F(x,y)=y-kx-b=0。中点偏差判别式为:di=F(xm,ym)=F(xi+1,yi+0.5)=yi+0.5-k(xi+1)-b。中点偏差判别式的递推公式为:(1)d<0时,d(i+1)=di+1-k;(2)d>=0时,d(i+1)=di-k。中点偏差判别式的初始值为:d0=0.5-k。

void

CTextView::Mbline()

{

CClientDC

dc(this);

COLORREF

rgb=RGB(0,0,255);

double

x,y,d,k;

x=x0;y=y0;k=(y1-y0)/(x1-x0);d=0.5-k;

for(x=x0;x<=x1;x++)

{

dc.SetPixel(ROUND(x),ROUND(y),rgb);

if(d<0)

{

y++;

d+=1-k;

}

else

d-=k;

}

}

第四章 多边形填充

1.多边形定义及分类,三种分别是什么?

多边形是由折线段组成的封闭图形,分为凹多边形、凸多边形和环。其中,凹多边形是有一个凹点的多边形;凸多边形是只具有凸点的多边形;环是外环与内环互逆(外环顺时针,内环逆时针)。

2.多边形表示方法有哪两种(顶点、点阵)及其概念?

多边形有两种:顶点表示法和点阵表示法。顶点表示法是用多边形的顶点序列来描述,点阵表示法是用多边形覆盖的像素点集来描述。

3.什么是多边形扫描转换?

将多边形的描述从顶点表示法变换到点阵表示法的过程,称为多边形的扫描转换。

4.什么是多边形填充?

多边形的填充是指从多边形的顶点信息出发,求出其覆盖的每个像素点,取为填充色,而将多边形外部的像素点保留为背景色。

5.有效边表填充原则(下闭上开、左闭右开)是什么?

对于四边形常采用“下闭上开”和“左闭右开”的原则对边界像素进行处理。

6.什么是有效边、有效边表?

多边形内与当前扫描线相交的边称为有效边(AE

active edge)。把有效边按照与扫描线交点x坐标递增的顺序存放在一个链表中,称为有效边表(AET active edge table)。

7.分析题:分析某个多边形关于某条扫描线的有效边表?

P77

8.什么是桶表(又名边表)?

P79

9.什么是边缘填充算法?[P80]

边缘填充算法是求出多边形的每条边与扫描线的交点,然后将交点右侧的所有像素颜色全部取为反色。

10.什么是种子填充算法?

种子填充算法是从区域内任一种子像素位置开始,由内向外将填充色扩散到整个多边形区域的填充过程。

11.什么是四/八邻接点(连通域)?简答题。

四邻接点:对于多边形区域内部任意一个种子像素,其左、上、右、下这4个像素称为四邻接点;

八邻接点:对于多边形区域内部任意一个种子像素,其左、右、上、下以及左上、右上、右下、左下这8个像素称为八邻接点;

四连通域:从多边形区域内部任意一个种子像素出发,通过访问其左、上、右、下这4个邻接点可以遍历区域内的所有像素点,该多边形区域称为四连通域。对于四连通域,其边界既可以使用四连通边界也可以使用八连通边界;

八连通域:从多边形区域内部任意一个种子像素点出发,通过访问其左、左上、上、右上、右、右下、下、左下这8个邻接点可以遍历区域内的所有像素点,该多边形区域称为八连通域。对于八连通域,其边界必须使用八连通边界,而不能使用四连通边界。

第五章 二维变换和裁剪

1.什么是图形几何变换?分为几种?

图形几何变换是对图形进行平移变换、比例变换、旋转变换、反射变换和错切变换。图形几何变换可以分为二维图形几何变换和三维图形几何变换,而二维图形几何变换是三维图形几何变换的基础。

2.什么是规范化齐次坐标、齐次坐标、以及规范化的齐次坐标点的表示?

为了使用图形几何变换表达为图形顶点集合矩阵与某一变换矩阵相乘的问题,引入了规范化齐次坐标;所谓齐次坐标就是用n+1维矢量,在二维平面中点P(x,y)的齐次坐标表示为(wx,wy,w),在三维空间中点P(x,y,z)的齐次坐标表示为(wx,wy,wz,w)[这里,w为任意不为0的比例系数,如果w=1就是规范化的齐次坐标。二维点P(x,y)的规范化齐次坐标为(x,y,1),三维点P(x,y,z)的规范化齐次坐标为(x,y,z,1)。

3.二维变换矩阵的形式,和子矩阵功能:T1、T2、T3、T4形式、作用

P89-90

4.二维图形基本几何变换?

二维图形基本几何变换是指相对于坐标原点和坐标轴进行的几何变换,包括平移、比例、旋转、反射和错切这5种变换。

5.什么是平移变换、比例变换,以及它们的概念和过程?

P91

6.如何使用比例变换改变图形形状(P92中)?

P92

7.什么是旋转变换(概念、结论)?

旋转变换是将坐标点P(x,y)相对于坐标原点O旋转一个角度β(逆时针为正,顺时针为负,得到P'(x',y')点的过程。结论为:

(1)逆时针:T=

┌ cosβ

sinβ

0┐

│-sinβ

cosβ

0│

└0

0

1┘

(2)顺时针:T=

┌cosβ

-sinβ

0┐

│sinβcosβ

0│

└ 0

0

1┘

8.什么是反射变换(概念、3个结论矩阵)?

反射变换也称为对称变换,是将坐标点P(x,y)关于原点或某个坐标轴反射得到P'(x',y')点的过程。结论为:

(1)关于原点的二维反射变换矩阵:T=

┌-1

0

0┐

│ 0 -1

0│

└ 0

0

1┘

(2)关于x轴的二维反射变换矩阵:T=

┌ 1

0

0┐

│ 0 -1

0│

└ 0

0

1┘

(3)关于y轴的二维反射变换矩阵:T=

┌-1

0

0┐

│ 0

1

0│

└ 0

0

1┘

9.什么是错切变换(概念)?

错切变换是将坐标点P(x,y)沿x和y轴发生不等量的变换,得到P'(x',y')的过程。

10.例1、例2?

(P95、97)

11.什么是用户坐标系、观察坐标系、设备坐标系、规格化设备坐标系?

计算机图形学中常用的坐标系有用户坐标系、观察坐标系、设备坐标系和规格化设备坐标系等。其中,用户定义原始图形所采用的坐标系称为用户坐标系(UC user coordinate),用户坐标系根据应用的需要选择不同的坐标系; 依据观察窗口的方向和形状在用户坐标系中定义的坐标系为观察坐标系(VC view coordinate),观察坐标系用于制定图形的输出范围; 显示器等图形输出设备自身都有一个坐标系称为设备坐标系(DC device coordinate),原点位于屏幕客户区左上角,x轴水平向右为正向,y轴垂直向下为正向,基本单位为像素;

规格化设备坐标系(NDC normalized

device coordinate)是将设备坐标规格化到(0.0,0.0)~(1.0,1.0)的范围内而定义的坐标系,规格化设备坐标系独立于具体输出设备。(P98分析题)

12.窗口、视区的关系、概念是什么?

在观察坐标系中定义的确定显示内容的区域称为窗口;

在设备坐标系中定义的输出图形的区域称为视区。 它们之间的关系是,视区和窗口的大小可以不相同,一般情况下,用户把窗口内感兴趣的图形输出到屏幕上相应的视区内。在屏幕上可以定义多个视区,用来同时显示不同的窗口内的图形信息。

(窗视变换的推导过程:图形输出需要进行从窗口到视区的变换,只有窗口内的图形才能在视区中输入,并且输出的形状要根据视区的大小进行调整,这称为窗视变换(WVT window viewport

transformation),步骤(P100-101)。

13.什么是裁剪、算法原理?

在二维观察中,需要在观察坐标系下根据窗口的大小对用户坐标系中的二维图形进行裁剪,只将位于窗口内的图形变换到视区输出。直线段的裁剪是二维图形裁剪的基础,裁剪的实质是判断直线段是否与窗口相交,如相交于进一步确定位于窗口内的部分。

Cohen-Sutherland直线段裁剪算法是最早流行的编码裁剪算法。每条直线的端点都被赋予一组4位二进制代码,称为区域编码(RC region code),用来标识直线段端点相对于窗口边界及其延长线的位置。

为了保证窗口内直线段端点的编码为零,编码规则的定义见P102。

14.习题1.2.4(P106)

第六章 三维变换和投影

1.什么是三维几何变换矩阵?

用规范化齐次坐标表示的三维图形基本几何变换矩阵是一个4*4方阵,简称三维变换矩阵。

T=

┌ a b

c

p┐

│ d e

f

q│

│ g h

i

r│

└ l m

n

s┘。

T

1=

┌ a

b

c┐

│ d

e

f│

└ g

h

i┘

为3*3阶子矩阵,对图形进行比例、旋转、反射和错切变换;

T

2=[l

m

n],为1*3阶子矩阵,对图形进行平移变换;

T

3=

┌p┐

│q│

│r│

└s┘

为3*1阶子矩阵,对图形进行投影变换;

T

4=[s],为1*1阶子矩阵,对图形进行整体比例变换。

2.平移、比例矩阵变换?

P109

3.什么是平行投影以及它的特点和分类?

投影中心到投影面的距离为无限大时得到的投影称为平行投影。平行投影最大的特点是无论物体距离视点多远,投影后的物体尺寸保持不变。平行投影可分为两类:正投影和斜投影。当投影方向与投影面垂直时,得到的投影为正投影,否则为斜投影。

4.什么是三视图、哪三个,并对它们加以区分?

三视图是正投影视图,包括主视图、俯视图和侧视图,投影面分别与y轴、z轴和x轴垂直。即将三维物体分别对正面、水平面和侧平面坐正投影得到3个基本视图。区分P115-117。

5.透视投影的特点是什么?

与平行投影相比,透视投影的特点是所有的投影线都从空间一点投射,离视点近的物体投影大,离视点远的物体投影小,小到极点成为灭点。

6.什么是透视投影、视心、视点、视距?

一般将屏幕放在观察者和物体之间,投影线与屏幕的交点就是物体上点的透视投影。观察者的眼睛位置称为视点,视线与屏幕的交点称为视心,视点到视心的距离称为视距。

7.透视变换坐标区包含3个(区别)?

透视坐标变换中,物体位于用户坐标系中,视点位于观察坐标系中,投影位于屏幕坐标系中。其中,用户坐标系采用右手球面坐标系;观察坐标系为左手系;屏幕坐标系也是左手系,三者区别,见书中P111-112。

8.什么是灭点、性质是什么?P125

透视投影中,与屏幕平行的平行线投影后仍保持平行。不与屏幕平行的平行线投影后汇聚为一点,此点称为灭点,灭点是无限点在屏幕上的投影。每一组平行线都有其不同的灭点。一般来说,三维物体中有多少平行线就有多少个灭点。

9.什么是主灭点、性质?

平行于某一坐标轴方向的水平线在屏幕上投影形成的灭点称为主灭点。因为有x,y和z这3个坐标轴,所以主灭点最多有3个。当某个坐标轴与物体投影面平行时,则该坐标轴方向的平行线在屏幕上的投影仍保持平行,不形成灭点。

10.什么是一、二、三点透视?

透视投影中灭点数目由与投影面相交的坐标轴数目来决定,并据此将透视投影分类为一点、二点和三点透视。一点透视有一个主灭点,即投影面仅与一个坐标轴相交,与另外两个坐标轴平行;两点透视有两个灭点,即投影面仅与两个坐标轴相交,与另一个坐标轴平行;三定透视有4个主灭点,即投影面与3个坐标轴都相交。

第七章 自由变换曲线和曲面

1.什么是样条曲线/面?

样条曲线是指由多项式曲线段连接而成的曲线,在每段的边界处满足特定的连续性条件,而样条曲线则可用两组正交样条线来描述。

2.曲线曲面的表示形式?

曲线曲面可以采用显示方程、隐函数方程和参数方程表示。

3.什么是拟合、逼近?

曲线曲面的拟合:当用一组型值点(插值点)来制定曲线曲面的形状时,形状完全通过给定的型值点序列,称为曲线曲面的拟合。曲线曲面的逼近:当用一组型值点来制定曲线曲面的形状时,求出的形状不必通过控制点,称为曲线曲面的逼近。

4.什么是Bezier曲线及性质?P137

给定n+1个控制点Pi=(i=0,1,2,…,n),称为n次Bezier 曲线。Pi=(i=0,1,2,…,n)是控制多边形的n+1个控制点的坐标,控制多边形是连接n条边构成的多边形。Bezier曲线的次数为n,需要n+1个顶点来定义。

5.一次、二次、三次Bezier曲线的形状?

一次Bezier曲线是一段直线,二次Bezier曲线是一段抛物线,三次Bezier曲线是自由曲线。

6.Bezier曲线的性质(简答)?

(1)端点性质,Bezier曲线的起点和终点分别位于顶点Po和Pn上。(2)一阶导数,Bezier曲线的起点和终点的切线方向位于控制多边形的起始边和终止边的切线方向上。(3)凸包性质,Bezier曲线位于控制多边形构成的凸包之内。

第九章 动态消隐

1.什么是消隐?P187

习惯上称为消除隐藏线和消除隐藏面,简称为消隐。

2.什么是图形的几何信息、拓扑信息?

几何信息,描述几何元素空间位置的信息;拓扑信息,描述几何元素之间相互连接关系的信息。

3.线框、表面实体模型的区别是什么?

(1)线框模型只是用几何体的边线来表示立体的外形,就如同用边线搭出的框架一样,线框模型中没有表面、体积等信息。线框模型只使用顶点表和边表两个数据结构就可以描述面点之间的拓扑关系。线框模型的优点是可以产生任意方向视图,视图间能保持正确的投影关系。缺点是,因为所有棱边全部绘制出来,理解方面容易产生二义性。

(2)表面模型与线框模型相比,表面模型增加了一个表面。表面模型的优点是可以进行面着色,隐藏面消隐,以及表面积计算。缺点是,无法进行立体之间的相交运算。

(3)实体模型和线框模型、表面模型的根本区别在于其数据结构不仅记录了全部几何信息,而且记录了全部点、线、面、体的拓扑信息。实体模型常采用集合论中的并、交、差等运算来构造复杂形体。是实现真实图形的模型基础。

4.什么是消隐图?

计算机图形学的一个重要任务就是对空间物体的表面进行可见性检测,绘制出可见边线和表面。经过消隐后得到的图形称为“消隐图”。

5.消隐算法分类是什么?

(1)根据消隐方法的不同,消隐算法可分为如下两类:隐线算法,用于消除物体上不可见的边界线,主要针对线框模型;

隐面算法,用于消除物体上不可见的表面,主要针对表面模型。

(2)根据消隐空间的不同,消隐算法分为如下三类:物空间消隐算法,在描述物体的坐标系空间中进行消隐;

像空间消隐算法,在物体投影后的二维图像空间中进行消隐;

物象空间消隐算法,在描述物体的坐标系空间和图像空间同时进行消隐。

6.隐线算法原理(简答)?

P190

7.隐线算法的特性?

物体的线框模型消隐一般在物空间中进行。物空间消隐算法是根据边界线的可见性检测条件。

8.凸面体的性质?

连接立体上不同的两个表面的任意两点的直线完全位于该凸多面体之间。凸多面体由凸多边形构成,其表面要么完全可见,要么完全不可见。凸多面体消音算法的关键是给出测试其表面边界线可见性的判别式。事实上,对于凸多面体的任意一个面,可以根据其外法矢量和视矢量的夹角θ来进行可见性检测。如果两个矢量的夹角0°<=θ<=90°,则表示该表面可见;如果90°

第十章

真实感图形

1.什么是颜色?

颜色是外来的光线刺激人的视觉器官而产生的主管感觉。

2.颜色的三要素及其概念是什么?

从视觉角度,颜色包含3个要素:色调、饱和度和亮度。色调,是一种颜色区别于其他颜色的基本要素;饱和度,是指颜色的纯度;亮度是光照的强度。颜色的3个特征分别为主波长、纯度和明度。主波长,是产生颜色的光的波长,对应于视觉感知的色调;光的纯度对应于饱和度;而明度就是光的亮度。

3.三刺激理论是什么?

三刺激理论认为,人眼的视网膜中有3种椎体视觉细胞,它们对于红、绿、蓝这三种色光最敏感。

4.什么是三原色性质?

三原色有这样两个性质:以适当比例混合,可以得到白色,三原色中任意两种色的组合都得不到第三种原色;通过三原色的混合可以得到光谱中的任何一种颜色。

5.常用颜色模型是什么?

计算机图形学中,常用的颜色模型有RGB颜色模型、CMY颜色模型、HSB颜色模型等。

6.灰度和彩色的区别是什么?

在具体实现时,可以使RGB函数的3个分量保持相等,就生成灰度。但当R、G、B这三种颜色的数值变化不同步时,就会显示出彩色。

7.什么是颜色渐变的方法?

颜色渐变的产生方法有两种:一种是对多边形顶点的颜色进行插值以产生中间各点的颜色,即Gouraud明暗处理;另一种是对多边形顶点的法矢量进行插值以产生中间各点的法矢量,即Ghong明暗处理。

8.关于直线的渐变?

直线渐变是光照模型的基础。给定直线的两个顶点坐标和颜色值,使用拉格朗日线型插值方法可以完成直线从起点到终点的颜色过渡。要求绘制直线时,采用“起点闭区间,终点开区间”。

9.关于三角形颜色渐变?

一个物体无论表面多么复杂,都可以采用三角形面片来逼近。三角形面片的明暗处理是光照模型的面填充基础,三角形面片的颜色渐变可以采用拉格朗日双线性插值来完成。

10.什么是材质?

材质是指物体表面对光的反射特性,使用光的反射率来表示。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值