CG考试整理(仅供参考) 下载本文

内容发布更新时间 : 2024/5/3 17:21:44星期一 下面是文章的全部内容请认真阅读。

一、基本概念

1、计算机图形学之父:1963年,MIT林肯实验室的I.E.Sutherland发表了博士论文。

2、图形处理的内容:图形生成、图形描述、图形存储、图形变换、图形绘制、图形输入输出

3、计算机图象系统与图形系统的区别:图象纯指计算机内以位图(Bitmap)形式存在的灰度信息,而图形含有几何属性,或者说更强调场景的几何表示,是由场景的几何模型和景物的物理属性共同组成的。

4、图形学的概念:CG是研究图形(图象)的计算机生成和基本图形操作,是从数据描述到图形生成的过程。

5、颜色空间:RGB、颜色三要素:色调、饱和度、亮度 6、CRT显示器的基本原理:

7、走样和反走样的概念,反走样的方法:P175

1) 走样:在光栅显示系统中,图形使用离散像素表示,显示时会出现锯齿形或台阶状的现象,这种

用离散量(像素)表示连续量(图形)而引起的失真现象,成为走样或叫混淆。由于低频取样(不充分取样)而造成的信息失真成为走样(aliasing).

2) 反走样:可以利用校正不充分取样过程方法来改善所显示的光栅线的外观的方法叫做反走样

(antialiasing). 3) 反走样的方法:

a) 提高分辨率;

b) 过取样: 把低分辨率屏幕像素细分成更多的子像素,以子像素为取样点确定原屏幕像素的亮

度等级。也称为后过滤。即:在低分辨率屏幕上显示高分辨率结果。

c) 区域取样方法: 通过计算待显示的每个像素在对象上的覆盖区域来确定像素亮度。计算覆盖

区域的反走样称为区域取样。也称为前过滤。

d) 也可以通过移动像素区域的显示位置而实现光栅对象的反走样,这种技术成为像素移相。

二、基本算法

(1)二维编码裁剪算法(Cohen-Sutherland线段裁剪算法)

该算法通过初始测试来减少交点计算,从而减少线段裁剪算法所用的时间。每条线段的端点都赋以称为区域码(region code)的四位二进制码,每一位用来标示端点相对于裁剪矩形边界的里面还是外面。

如图给出的从右到左编号、从1到4的一种顺序。含义如图所示: 位4 位3 位2 位1 上边界 下边界 右边界 左边界 任何码位的值为1表示端点在相应窗口边界的外面,为0表示端点在内部或边界上。有时,区域码成为“外部”码(out code),因为任何码位的值为1表示点在相应窗口边界的外面。 线段 C1 C2 code 特征 结果说明 A 0000 0000 0000 C1=C2=code=0000 完全在窗内, 全接受 B 1000 1000 1000 完全在窗外,同侧全不可见,code≠0000 舍弃 C 1001 0001 0001 D 0001 0000 0000 C1、C2之一:0000 有一交点,部分可见 C1与C2均≠0000 线段与窗口边界有 E/F 0010 0100 0000 code=0000 两交点,可见性不定 (2)梁友栋-Barsky裁剪算法(原题) 我们知道,一条两端点为P1(x1,y1)、P2(x2,y2)的线段可以用参数方程形式表示:

1

x= x1+ u·(x2-x1)= x1+ u·Δx y= y1+ u·(y2-y1)= y1+ u·Δy

0≤u≤1 (3-9)

式中,Δx=x2-x1,Δy=y2-y1,参数u在0~1之间取值,P(x,y)代表了该线段上的一个点,其值由参数u确定,由公式可知,当u=0时,该点为P1(x1,y1),当u=1时,该点为P2(x2,y2)。如果点P(x,y)位于由坐标(xwmin,ywmin)和(xwmax,ywmax)所确定的窗口内,那么下式成立: xwmin≤x1+ u·Δx≤xwmax (3-10) ywmin≤y1+ u·Δy≤ywmax 这四个不等式可以表示为:

u·pk ≤qk , k=1,2,3,4

其中,p、q定义为:

p1=-Δx, q1=x1-xwmin

p2= Δx, q2=xwmax-x1 p3=-Δy, q3=y1-ywmin p4= Δy, q4=ywmax-y1

从(3-12)式可以知道:任何平行于窗口某边界的直线,其pk=0,k值对应于相应的边界(k=1,2,3,4

对应于左、右、下、上边界)。如果还满足qk<0,则线段完全在边界外,应舍弃该线段。如果pk=0并且qk≥0,则线段平行于窗口某边界并在窗口内,见图中所示。公式(3-12)式还告诉我们: 1、当pk<0时,线段从裁剪边界延长线的外部延伸到内部; 2、当pk>0时,线段从裁剪边界延长线的内部延伸到外部;

(3-12) (3-11)

例如,当Δx≥0时,对于左边界p1<0(p1=-Δx),线段从左边界的外部到内部;对于右边界p2>0(p2=Δx),线段从右边界的内部到外部。

当Δy<0时,对于下边界p3>0(p3=-Δy),线段从下边界的内部到外部;对于上边界p4<0(p4=Δy),线段从上边界的外部到内部。

当pK≠0时,可以计算出参数u的值,它对应于无限延伸的直线与延伸的窗口边界k的交点,即:

(3-13)

对于每条直线,可以计算出参数u1和u2,该值定义了位于窗口内的线段部分: 1、u1的值由线段从外到内遇到的矩形边界所决定(pk<0),对这些边界计算rk=qk/pk,u1取0和各个r值之中的最大值。

2、u2的值由线段从内到外遇到的矩形边界所决定(pk>0),对这些边界计算rk=qk/pk,u2取0和各个r值之中的最小值。

3、如果u1>u2,则线段完全落在裁剪窗口之外,应当被舍弃;否则,被裁剪线段的端点可以由u1和u2计算出来。

(3)Weiler-Atherton多边形裁剪算法

1、建立主多边形和裁剪多边形的顶点环表;

2

2、求主多边形和裁剪多边形的交点,建立入点表和出点表;并将这些交点按顺序插入两多边形的顶点环表。在两多边形顶点环表中的相同交点间建立双向指针;

3、裁剪过程:

1)建立裁剪结果多边形的顶点表;

2)依次选取入点表中的一个入点,检测其是否被处理过?是,取下一个入点,直至入点表中的入点全被处理过,结束;

3)沿主多边形顶点环表正向搜索,将搜索到的主多边形顶点记入裁剪结果多边形的顶点表中,直至下一个交点(出点);

4)按该交点的双向指针,搜索路径由主多边形转入裁剪多边形;

5)沿裁剪多边形顶点环表正向搜索,将搜索到的裁剪多边形顶点记入裁剪结果多边形顶点表中,直至下一个交点(入点);检测该入点是否与开始入点相同?相同,转2);

6)按该交点的双向指针,搜索路径又由裁剪多边形回到主多边形;转3)。 三、投影矩阵

(1)投影的类型以及主要特点

透视投影:投影中心与投影平面之间的距离为有限 ; 平行投影:投影中心与投影平面之间的距离为无限 。

在平行投影中,坐标位置沿平行线变换到观察平面上。平行投影保持对象的有关比例不变,这是三维对象计算机辅助绘图和设计中产生比例工程图的方法。场景中的平行线在平行投影中显示成平行的。一般有两种获得对象平行视图的方法:沿垂直观察平面的直线投影或沿某倾斜角度投影到观察平面。

在透视投影中,对象位置沿汇聚到观察平面后一点的直线变换到投影坐标系。与平行投影不同的是,透视投影不保持对象的相关比例。但场景中的透视投影真实感较好,因为在透视显示中较远的对象减小了尺寸。

正投影:对象描述沿着与投影平面法向量平行的方向到投影平面上的变换称为正投影。这生成一个平行投影变换,其中投影线与投影平面垂直。正投影常用来生成对象的前视图、侧视图和顶视图。

特点:

? 能同时反映物体的多个面,具有一定的立体效果。 ? 能使空间任意一组平行线的投影仍然保持平行。 ? 不能保持三维空间的角度关系。

? 沿三个坐标轴的方向均可测量距离,但要注意比例关系。

斜投影:当投影路径与观察平面不垂直时,该映射称为斜平行投影,使用这样的投影可生成对象的前视、顶视等视图的混合视图。

特点:既可以进行测量又可以同时反应三维形体的多个面,具有立体效果。

透视投影:通过将对象沿汇聚到投影参考点或投影中心的路径投影到观察平面来逼近这种几何-光照效果。对象按透视缩短效果显示,距离远的对象比相同大小的接近观察平面的对象的投影小。

特点:

? 产生近大远小的视觉效果,由它产生的图形深度感强,看起来更加真实。 ? 透视投影的大小与物体到投影中心的距离有关。

? 一组平行线若平行于投影平面时,它们的透视投影仍然保持平行。

? 只有当物体表面平行于投影平面时,该表面上的角度在透视投影中才能被保持。

(2)透视投影的矩阵形式(书中304-306页) 3

Mper?1?0???0??0?01000010?d0?0??0??1??