图形学复习资料doc.docx
《图形学复习资料doc.docx》由会员分享,可在线阅读,更多相关《图形学复习资料doc.docx(18页珍藏版)》请在冰点文库上搜索。
图形学复习资料doc
1、图形学、图形定义
计算机图形学(ComputerGraphics,CG)是―•门研究如何利用计算机表示、生成、显示和处理图形的学科。
图形通常由点、线、面、体等儿何属性和颜色、纹理、线型、线宽等非儿何属性组成。
2、图形分类
从生成技术上来看,图形主要分为两类:
一类是基于线条信息表示的,如工程图、等高线地图、曲面的线框图等;
另一类是真实感图形。
3、图形与图像之间的关系
图形与图象是密切相关但乂不同的两个概念。
图象纯指计算机内以位图(Bitmap)形式存在的亮度和颜色信息
图形则由场景的儿何模型和物理属性共同描述。
图形图象可以相互转化(以数码相机照相为例)
4、计算机图形学的应用领域
计算机图形给人们提供了一种直观的信息交流工具,被广泛地用于各个不同的领域。
影视,游戏,工业设计,科学研究,艺术,医学,广告,教育,培训,军事。
5、OPENGL简介及茶壶程序
OpenGL是SG1公司开发的一个跨平台的开放式图形编程工具。
OpenGL集成了所有造型、变换、材质、纹理、光照、绘制等复杂的计算机图形学算法,将用户从具体的硬件和操作系统中解放了出来。
如何利用OpenGL实用1:
具库GLUT中的函数glutSolidTeapot()在屏幕上生成一个茶壶。
main(泌数在第一行对GLUT库进行了初始化,然后设定窗口的显示模式、初始位管与大小,即位于屏幕左上角,长宽各为300。
glutCreateWindow()语句创建了这个窗口0
glutMainLoop()语句启动GLUT的主事件循环,在用户结束程序的运行之前,它将负责处理所有的GLUT事件。
6、光栅扫描的显示系统和随机扫描的显示系统的特点
特点:
电子束可随意移动,
只扫描屏幕上要显示的部分。
逻辑部件:
刷新存储器(Refreshing
Buffer)显示处理器(DPU:
Display
ProcessingUnit)和CRT
7、帧缓冲存储器
像素所呈现的颜色或灰度由数值表示,视频控制器刷新时,需反复读这些数值。
用来存储像素颜色(灰度)值的存储器就称为帧缓冲存储器。
简称帧缓冲器(显存)。
帧缓存中单元数目与显示器上像素的数目相同,单元与像素一一对应,各单元的数值决定了其对应像素的颜色。
显示颜色的种类与帧缓存中每个单元的位数有关
8、直线的扫描转换算法…Bresenham算法
>苜我的Bresenham算法
基本思想:
过各行各列象素中心构造一组虚拟网格线。
按直线从起点到终点的顺序计算直线与各垂直网格线的交点,然后根据误差项的符号确定该列象素中与此交点最近的象素。
设直线方程为:
,
其中k=dy/dxo因为直线的起始点在象索中心,所以误差项d的初值d0=0o
x卜标每增加1,d的值相应递增直线的斜率值k,即d=d+ko一旦dNl,就把它减去1,这样保证d在0、1之间。
当d30.5时,最接近于当前象素的右上方象素(xi+l,yi+l)
而当dv0.5时,更接近于右方象素(xi+l,yi)0
更进一步为方便计算,令c=d・0.5,
e的初值为-0.5,增量为k。
当e'O时,取当前象素(xi,yi)的
右上方象素(xi+l,yi+l);
而当evo时,更接近于右方象
素(xi+l,yi)
例:
Line:
P0(0,0),P1(5,2)k=dy/dx=0.4
xye
00-0.5
10-0.1
210.3
31-0.3
420.1
52-0.5
e每次加k,若e大于零则y加1旦e减1,若e小于零则不变
voidBresenhamline(intxO,intyO,intxl,intyl,intcolor)
(intx,y,dx,dy;
floatk,e;
dx=xl-xO,dy=yl-yO,k=dy/dx;
e=-0.5,x=x0,y=yO;
for(i=0;idx;i++)
{drawpixel(x,y,color);
x=x+l,e=e+k;
if(e0)
(y++,e=e-l;}
)
}
可以改用整数以避免除法。
由于算法中只用到误差项的符号,因此可作如下替换:
c*=2*c*dx
则初值为c,=一dx
每次的增量为2dy大于零时减去2dx
Bresenham算法
voidBresenhamline(intxO,intyO,intxl,intyl,intcolor)
{intx,y,dx,dy,e;
dx=x1-xO,dy=yl-yO;
e=-dx,x=xO,y=yO;
for(i=0;idx;i++)
{dravvpixcl(x,y,color);
x=x+l,e=e+2*dy;
if(e0)
{y++,e=e-2*dx;}
}
}或者
intx,y,dx,dy;
floatk,e;
dx=xl-xO,dy=yl-yO;k=dy/dx,c=-0・5;
x=x0,y=yO;
for(i=0;idx;i++)
{drawpixel(x,y,color);
x=x+l,c=c+k;
if(e0)
{y++,e=e-l;}
}
最终,Bresenham算法是每个象素,需一个整数算法,其优点是可以用于其他二次曲线。
9、世界坐标系与局部坐标系的适用范围,以及相关的坐标变换的OPENGL函数
局部坐标系:
单位球面
世界和局部坐标系:
单位立方体
10、多边形表示
大量的平面片:
三的形、四边形或n.边形
本质:
线性表示形式
11、多边形表示物体的主要来源
1.三维测量与扫描
2.CT、MRI等值面抽取
3.解析数学公式的逼近
12、.tm文件的读取与绘制
l..tm文件格式
2.绘制时考虑法向总
(1)法向量的计算
(2)均衡法向量
3.“三维网格图形绘制”程序主要结构
(1)编写tm模型的类
(2)在init()函数中读入tm模型
(3)在display。
函数中绘制模型
13、多边形表示的优势与不足优势:
•表示简单
•可以表示具有任意拓扑的物体
•可以表示具有丰富细节的物体
•大部分图形硬件支持多边形物体的加速绘制不足:
•逼近表示,难以满足交互时放大要求
•难以用传统方法修改(编辑)物体外形
•缺乏解析表达式,儿何属性计算困难
•在表示复杂拓扑和具有丰富细节的物体时,数据量庞大,建模、编辑、绘制、存储的负担重
14、直线段的参数表示及几何意义
考虑直线段Po(Xo,丸,Zo)—Pi(Xi,Ji,Z[)
-参数表示
R(r)・(l-gmo-直线段参数表示的直观几何意义
-参数空间中每一个参数
(点)都对应于直线段上
—个点
-参数空间的两个端点对
应于直线段的两个端点
R(0)=Po
即)=R
15、双线性四边面片参数表示及几何意义参数表示:
双线性四边面片:
R(m,v)=(1-v)[(1-u)I>+wPj+v[(l-M)P.+mP;]
(奶)6[0,1]X[0,1】
几何意义:
四边面片的四个顶点P。
、Pi、P:
和已对应于
参数曲面的四个角点R(0,0)、R(】,0)、R(l,0)
和R(l,l)
16、参数表示的优势
•参数表示是显式的
•Illi面上的儿何量计算简便(微分儿何):
法向、Illi率、测地线、Illi率线等
•特殊形式的参数表示的外形控制十分直观
17.Bezier曲线定义及性质,Bezier曲线的不足
定义:
一条n次Bezier曲线:
R0)=£R"5(?
)0多项式{风〃手}称为Bernstein基函数:
8侦(,)=-t广TC'=n!
/(]!
(〃-I)!
)
性质:
(1),端点插值:
R(0)=R0R
(1)=R〃
(2),端点切向:
R%0)=n(Rl-R0)R,
(1)=〃(R〃—R〃.l)
(3)对称性:
S=E
曲线的控制顶点的儿何地位是对称的
(4)剖分性质每次剖分,曲线分为两段新的Bezier曲线
新的控制多边形更加趋近于Bezier曲线
当剖分次数足够大的时候,控制多边形可以作为Bezier曲线的逼近
不足:
(1)整体性质:
当移动曲线的一个控制顶点时,整条曲线的形状都会发生改变
(2)表示复杂形状时,需要将多条Bezier)11|线光滑拼接起来,即Bezier样条曲线。
•18B.样条曲线的定义及性质
•定义:
•B.样条曲线是分段连续的多项式曲线,其定义与节点向量密切相关
•定义在节点向量u={hO,k1,..""・,“〃+A+1}上的k次(k+1阶)、具有(〃+1)个控制顶
点的B・样条曲线为:
V«a;/A「1
.R0)=ZRiN(")"6叵,"〃+]]
/=0
性质:
(1)B■样条曲线具有凸包性和几何不变性。
•当曲线的两个端节点的重复度是好1时
-B-样条曲线具有类似于Bezier曲线的性质
•端点插值性质
•端点导数与控制的起始边与终止边相切
-当〃=奸1时,B-样条曲线就是一条Bezier曲线
•
(2)局部性:
当移动一个控制顶点时,只会影响曲线的一部分,而不是整条曲线
•19,引入NURBS曲线的原因,NURBS曲线的定义式,NURBS曲线
的权因子
•原因:
B・样条情形不能精确表示二次曲面与平面的交线,如圆锥曲线(平面与圆锥
的交线)
•:
注:
NURBS是非均匀有理B■样条的简称
•定义式:
R(〃)=
E心(w)
i=0
权因子:
每一个权因了对应于一个控制顶点
•通过调整权因了的大小可以调整曲线的形状。
-当所有的权因子-i=l肘,就是B■样条曲线;
-当某个权因了以.=()时,对应的控制顶点对曲线的形状没有影响
-当3—8时,曲线R(w)->Rz,即曲线过点Ri
•20,Bezier曲面的定义式、性质和不足
定义式
*次Bezier曲面:
Rg)=乃>,凡,而屁⑴
i=Oj=O
一Bi,m(u)和Bj,n(v)为Bernstein基函数
-{R〃}规则连接形成控制网
性质:
•Bezier曲面的控制顶点所形成的控制网格大致反应了曲面的形状,所以可通过编辑控制顶点的方式来实现对曲面形状的改变
不足:
•全局性:
当移动一个控制顶点的位置时,整个曲面的形状会发生改变,这对于外形设计是很不方便的
•生成复杂外形需要多个Bezier曲面的光滑拼接,十分复杂
21,B•样条曲面定义式、B•样条曲面的重要性质、B•样条曲面的不足
定义式:
-次数:
kuXkv
-控制顶点数:
(〃"+1)X(nv+1)
节点向量
U=1"o,"l,…,"七+&"+1
R(3)=ZZRijNg(u)N小(v)
/=07=0
{R"}为控制顶点
M,如(以)和Ni,kv(v)分别为定义在节点向量u和v上的规范化B■样条基函数重要性质:
-局部性质
•控制顶点数目
-Bezier曲面的次数确定后,控制顶点数目就定了
-B.样条|11|面的次数确定后,控制顶点数目可任意
•其它性质:
参考曲线情形
不足:
-不能精确表示常用的二次仙面:
如球面、圆柱面、圆锥面等
22.NURBS曲面相比B•样条曲面的优点
-增加了权因了作为形状控制手段
-包含B■样条曲而和Bezier曲面
-可以精确表示机械零件中常用的二次曲面
23,R3中的隐式曲面表示的一般式,代数曲面
一般式:
R3中的隐式曲面表示为:
{(x,),,z)cR3:
f(x,y,z)=O}
.
代数曲面:
-三维空间中的一个二维曲面(二维流形)
-称为隐式函数:
数学表达式或过程定义的函数
-当/为多项式函数时,隐式曲面称为代数曲面
24,与参数曲面相比,隐式曲面的优点与不足
优点:
a)优点:
隐式曲面可以表示具有复杂拓扑的形状
NURBS曲而只能表示拓扑等价于矩形的四边曲面
NURBS曲面表示非退化封闭光滑曲面时,需要光滑拼接
b)隐式曲面比NURBS曲面更适合于进行布尔运算、光线跟踪、点集判断等
不足:
-隐式曲面表示不直观,难以进行外形的交互修改。
NURBS曲而的外形控制手段非常直观
-隐式曲面通常没有边界,而NURBS曲面具有显式的边界
-隐式曲面难以直接进行显示,而NURBS曲面则可以借助于剖分算法,对逼近多边形表示进行绘制
25.隐式曲面与参数曲面的相互转化
隐式化:
从参数曲面到隐式曲面
消除NURBS曲面的两个参数(u,v)得到其隐式表示
参数化:
从隐式曲面到参数曲而
并非所有的隐式||||面都可以参数化
对于非退化的二次代数曲面和具有一个奇异点的三次代数曲面,可以进行有理多项式参数化
26.隐式曲面的显示方法
多边形化:
用平面多边形逼近隐式Illi面,MarchingCube方法
光线跟踪:
生成高质量的图像
粒子系统:
在隐式曲面上均匀布撒粒子
27.细分曲面的优势与不足
优势
极限曲而C1或C2连续的光滑曲而
可以表示任意拓扑
适合于动画造型、快速显示
不足
奇异点处没有解析表达,难以计算微分量
难以精确控制其外形
难以构造高阶光滑曲ifii
28.物体的CSG树表示
CSG:
ConstructiveSolidGeometry
表示实体:
即有边界,也包含内部
表示边界:
多边形、参数曲面、隐式曲面、细分曲面
CSG树表示:
面向浇铸、加工或拉伸等CAD/CAM过程
CSG树:
通过一系列几何操作将简单的基本体素组合起来
基本体素:
立方体、球、圆柱、圆锥等
儿何操作
布尔运算:
并、交、差、补等
儿何变换:
平移、旋转、放缩、剪切等
CSG树:
含有丰富的造型信息
物体生成过程
物体表示
29.自然景物表示主要有哪三种表示方法
粒子系统
分形基于语法规则的L■系统
30.L.系统的迭代
语法规则:
通过对所给字符根据语法规则的迭代生成新的字符串,每次迭代结果称为一代
字符解释:
将字符串中的字符解释为适当的几何体素,就可以得到一个基于语法规则生成的物体
31.粒子系统中生成每一瞬间画面的步骤
1.
2.
3.
4.
5.
产生新的粒子并加入系统中
赋予每一个新粒子一定的属性
删除那些已经超过其生命周期的粒了
根据粒子运动属性对粒子进行移动和变换
绘制并显示出所有有生命粒子组成的画面
32.三维变换的具体计算(平移、缩放、旋转)
三维平移T:
三维点P(x,y,z)移动(tx,ty,tz)后,得到点P\x\y\z')
〔1oo小
矿
010A
001八
lb
(0001/
〔1〕
三维放缩S:
三维点P(x,y,z)放缩(sx,sy,sz)后,得到点Pf(x\y\zr)
0
0
o'
J'
0
0
0
,z
0
0
0
Id
<0
0
0
b
绕x轴逆时针旋转角的旋转变换Rx
0
0
0、
/、
X
y
0
cos。
—sin。
0
y
z
0
sin。
COS。
0
z
<0
0
0
b
Id
绕y轴逆时针旋转
角的旋转变换Ry
(cos。
0
sin<9
0、
/、
X
y
0
1
0
0
y
—sin。
0
cos<9
0
z
0
0
绕z轴逆时针旋转角的旋转变换Rz
fxr>
(cosQ—sin。
0O'
/、
X
yr
sin。
cos。
00
y
zr
0010
z
(0001,
33.三维变换流程图