计算机图形学课件-chapter第9章真实感图形技术_第1页
计算机图形学课件-chapter第9章真实感图形技术_第2页
计算机图形学课件-chapter第9章真实感图形技术_第3页
计算机图形学课件-chapter第9章真实感图形技术_第4页
计算机图形学课件-chapter第9章真实感图形技术_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

第9章真实感图形技术识点:

光照

型,

明暗

理,

光线

,纹理等真实感技术;教学目的:使学生了解真实感图形生成的基本原理和基本方法。1本章内容概述简单光照模型多边形表示物体的光滑明暗处理整体光照模型技术的求交运算及加速方法光线光线纹理29.1

概述真实感图形综合运用数学、物理学、计算机科学与其它科那样学知识,在计算机设备上生成象彩色的真实感图形。真实感图形生成步骤–用数学方法建立所需三维场景的几何描述,并将它们输入计算机;将三维几何描述转换为二维

;确定场景中的所有可见图(消隐);计算场景中可见面的颜色。(本章重点)34光强(Intensity

of

light)或称光亮度既能表示光能大小又能表示其色彩组成的物理量。一般表示为(R,G,B).光照模型即光强的计算公式。根据光学的有关定律计算画面上景物表面各点投射到观察者眼中的光线的光亮度的公式。9.2

简单光照模型基本原理光照射到物体上后分解为:反射光、透射光、被物体表面吸收转换成热。其中反射光和透射光的强弱决定了物体表面的明暗程度。(参见图9.1)不同光源,不同表面材料对光亮度有很大影响。图9.156简单光照模型(不考虑透射光,仅有反射光)而反射光又分成3个分量,即:反射光=环境反射+漫反射+镜面反射环境反射物体除了受特定光源照射外,还受到周围环境来的反射光照射。该分量用Ipa表示,取常数。漫反射表示特定光源在景物表面的反射光中那些向空间各方向均匀反射出去的光。漫反射可使用朗伯定律计算。7朗伯定律对于一个漫反射体,表面的反射光亮度和光源入射角的余弦成正比。I=IpdcosiI为表面反射光的光亮度;Ipd为光源垂直入射时反射光的光亮度;i为光源入射角(入射光角和表面法向夹角).(参见图9.2)图9.2

漫反射示意图ACB8光滑平面图9.3镜面反射对某些材质的物体,在光照射下出现“高光现象”。镜面反射的计算一般遵守反射定律。实际上,光滑表面镜面反射光分布于表面镜面反射方向的周围:I=IpscosnθIps:

镜面反射方向上镜面反射光亮度;θ:镜面反射方向和视线方向的夹角;n:会聚指数。(参见图9.3)θ9Phong模型考虑反射光3个分量所建立的光照模型,表示为:I=kaIpa+Σ[kdIpdcosi+ksIpscosnθ]ka,kd,ks分别为环境反射、漫反射和镜面反射分量系数,即材质系数(kd+ks=1),Σ表示对所有光源求和。一般在计算机实现时,用R、G、B三个分量计算,表示为:109.2.2

算法实现首先确定cosi和cosθ(如右图9.4所示)=其中

是L,N,

,R,V相应的单位向量,的角平分线的单位向量。使用Phong模型的扫描线绘制算法图9.411算法:beginfor

屏幕上每条扫描线y

dobegin将数组color初始化成y扫描线的背景颜色值;for

y扫描线上每个可见区间段s中的每点(x,y)dobegin设(x,y)对应的空间可视点为p;求出p点的单位法向量

,单位入射光向量 ,单位视线向量

;求出在P点的单位镜面反射向量;12end显示colorendend139.3

多边形表示物体的光滑明暗处理问题在计算机图形学中,

光滑表面常用多边形予以近和表示,使处理变得容易。如图9.5(a)的图形常用(b)来近似。但是,直接使用Phong模型计算时,不同平面块之间存在不连续的法向量跳跃,生成的图形失去原有曲面光滑性,呈多面体状。14图9.5

磨光立方体的多边形表示(a)(b)115457623169.3.2

解决方法一、Gouraud明暗处理技术(Gouraud

Shading)思想:对离散的光亮度采样作双线性插值以获取连续的光亮度函数。过程:计算出多边形顶点处的光亮度值,作为插值采样点;对多边形顶点的光亮度插值计算出多边形内任一点的光亮度。17如图9.6,设三角形面3个顶点处光亮度为I1,I2,I3,为计算P点光亮度IpIa=uI1+(1-u)I2

(u=av2/v1v2)Ib=vI1+(1-v)I2

(v=bv3/v1v3)Ip=tIa+(1-t)Ib

(t=Pb/ab)同时,相邻两点P1,P2可用增量法计算光亮度:Ip2=Ip1+ΔI优缺点效果尚好,计算量小;不能正确模拟高光,会产生Mach带效应(光亮度变化率不连续的边界处呈现亮带或黑带)。图9.6

光亮度插值及其顶点法向量计算18二、Phong明暗处理技术(Phong

Shading)思想:对离散的法向量采样作双线性插值,构造续的法向量函数,将这个连续的法向量插值函数代入光亮度计算公式,即得到一个非线性的光亮度插值公式。如图9.7所示,任一点P处法向按插值方法由各顶点处法向推出。优点:

大大减少了

带效应;产生真实的高光效果。缺点:由于对每一像素光亮度计算还需使用光照模型,故计算量大。19图9.7

法向双线性插值a20b219.4

整体光照模型Phong模型仅考虑光源直接照射在景物表面产生的反射光能,因而是一种局部光照模型局部光照模型忽略了光能在环境景物之间的传递,很难生成高质量真实感图形。原因:未能考虑环境的漫射、镜面反射和规则透射对景物表面产生的整体照明效果。整体光照模型Whitted在Phong模型中增加了环境镜面反射光亮度Is和环境规则透射光亮度It,

从而模拟周围环境的光透射在景物表面上产生的理想镜面反射和规则透射现象。22Whitted模型(如图9.8)假设景物表面向空间某方向V辐射的光亮度I由3部分组成:由光源直接照射引起的反射光亮度Ic;由V的镜面反射方向来的环境光Is投射在光滑表面上产生的镜面反射光;由V的规则透射方向来的环境光It通过透射在透明体表面上产生的规则透射光。Whitted模型表示公式I=Ic+ksIs+ktItks:反射系数,0<=ks<=1;kt:透射系数,0<=kt<=1.Ic可用Phong模型计算,而Is和It可转化为其他物体表面朝P点方向辐射的光亮度,仍利用Whitted模型计算。因而Whitted模型是一递归计算模型。图9.8

Whitted模型示意图239.5

光线技术(RayTracing)基本原理光线

技术是为了求解Whitted模型而提出一种高度真实感图形绘制技术。光线投射(ray

casting)假设从视点V通过屏幕像素e向场景投射一光线交场景中的景物于P1,P2...Pm点,

那么离视点最近的P1点就是画面在像素e处的可见点,

像素e的光亮度应由P1点向 方向辐射的光亮度决定的。这样,

对屏幕上每一像素都投射光线以求得与场景的第一个交点,

并置像素的光亮度为交点处的光亮度。(如图9.9)24图9.9

光线投射过程25光线投射方法评价优点:不必单独消隐,算法简单;局限性:仅实现局部光照效果。光线

技术原理Whitted在求解其整体光照模型时将光线投射发展改进为光线技术。根据Whitted模型:I=Ic+ksIs+ktIt光线

示意图如图9.10。光线

求解任一像素e亮度I过程如下:

(图9.11)(1)先从视点V出发,通过像素e发射一根光线求得它与场景的最近交点P1,容易算出P1点的局部光照亮度Ic(使用Phong模型)26图9.10

光线示意图27图9.11

光线树28为了计算整体环境向P1点发射的镜面反射光和规则透射光,从P1点出发向 方向和方向发射两条光线求得它们与景物交点Pr和Pt,计算Pr和Pt点向P1点辐射的光亮度Ir和It,代入Whitted模型,即可计算出总的亮度I;计算Pr和Pt处光亮度时,除了由于光源直接照射引起的局部光照效果外,还要考虑周围环境对这两点产生的整体光照效果,于是需要连续从Pr和Pt点出发向相应方向和方向发射光线;上述过程当的光线射出画面或深度达到给定层次时,应停止发射光线。也可通过光线对显示像素亮度I的贡献是否少于一阀值k/G来动态深度。299.5.2

光线算法算法描述beginfor

每个像素e

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

I,

1);置e的光亮度为I;endendprocedure

ray_tracing(R,I,A)/*R- 光线,I- 光线光亮度;A-I对总光亮度的贡献系数*/3031beginif

A<k/G

then

I:=0elsebeginR与景物求交,返回可见点P1;计算P1的局部光照明亮度Ic;若P1所在表面为光滑镜面,确定P1的镜面反射光线Rr;ray_tracing(Rr,

Is,

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

It,

ktA);I=Ic+ksIs+ktIt;endend光线

算法评价优点:能够模拟环境的镜面反射和规则透射,模拟整体软影和透明阴影等高度真实感效果。局限性:计算量大。329.6

光线

的求交运算及加速方法一、算法分析在N×M显示分辨率屏幕上(如图9.12所示)生成图形,必须从视点出发通过屏幕向景物发射N×M条光线,设每根光线反射、折射派生出d

根光线,并设每一景物交点朝光源发射m条阴影探测光线,总光线数为:(m+1)dNM若m=2,d=5,N=M=512,则光线总数为393

2160。光线

算法大约90%时间花在求交运算上,因而提高求交运算效率很关键。33图9.12

显示屏幕3435二、求交方法射线定义:

X=Dt+E (t>=0

)E=(e1,e2,e3)为射线起点;

D=(d1,d2,d3)为射线方向;

X=(x,

y,

z)为射线上任一点。(1)

射线与多边形求交算法(如图9.13所示)设多边形平面方程:

ax+by+cz+d=0

或N·X+d=0, N=(a,

b,

c)射线方程代入平面方程:N·(D

t+E)+d=0即(N·D)

t+(N·E)+

d=0解得:t0=

-(N·e+d)/(N·D) (N·D

≠0)因此:注意:此交点为射线与平面的交点,未必落在多边形内,需逐边判断它是否在多边形内。(2)射线与长方体求交(如图9.14所示)射线与长方体求交可转化为与长方体6个面求交。有交时,最少需要求射线与2个面的交点才能确定射线与长方体的交点。无交时,必须把射线与所有6个面求交后,才能确定射线与长方体无交。36图9.1337射线与多边形求交图9.14

射线与长方体求交38射线与球面求交球心在P0(x0,y0,z0),半径为r的球面方程为:(P-P0)·(

P-P0)=r2射线方程代入:(Dt+E-P0)(Dt+E-P0)=r2整理得:

at2+bt+c=0a=D·D,

b=2D·(E

-P0),

c=(E-P0)·(E

-P0)-r2这样,射线与球面交点问题转化解一元二次方程问题。射线与一般的二次曲面求交设二次曲面方程:q(x,y,z)=[

x

y

z

1]

Q

=039其中Q==把射线方程代入整理

at2+bt+c=0其中:a=DQ11Db=DQ11E+EQ11D+Q21D+DQ12c=EQ11E+Q21E+EQ12+Q22根据一元二次方程求解判别式可决定射线与曲面是否有交,若有交用求根公式计算出t并得到交点。40三、光线

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

景物树及其包围球4243Procedure

intersection

(ray,

scene)beginif(ray与scene的包围盒有交点)thenbeginif

(scene是终结点)

thenbeginray与scene求交,若有交,则交点置入交点表中endelse for(scene的所有儿子child_of_scene)dointersection

(ray,

child_of_scene)endend(2)景物空间分割技术此方法是将景物所在空间分割成网格单元,被跟踪光线仅同它所穿越的网格单元中所含景物表面进行求交测试。—它利用相邻网格单元的空间连贯性,光线

个个空的网格单元,求得它与景物的交点。空间网络分割方式a.均匀分割成大小相同立方体网格单元。优点:用三维DDA算法,计算简单。缺点:较大

需求。b.八叉树式空间分割。优点:减少空间网格单元数目。缺点:算法复杂。44459.7纹理(Texture)一、基本概念纹理:物体表面所呈现的表面细节。如木质物体木纹、装饰图案、机器表面文字说明等等。纹理分类颜色纹理:通过色彩或明暗度的变化体现出来的表面细节(如布纹)。几何纹理:由物体表面不规则细小凹凸造成(如桔子皱折表皮)。纹理(texture

map)生成颜色纹理的方法。其过程是:在一平面区域(纹理空间)上预先定义纹理图案;然后建立物体表面的点与纹理空间的点之间的对应关系(即)。几何纹理生成方法主要有法向扰动法、分形生成技术等。46二、纹理函数最常用的纹理为二维光亮度函数,可用数学模型定义或一幅平面图象表示。这种数学模型定义在单位正方形区域,称纹理空间,定义在纹理空间的函数即纹理函数。实际上,纹理函数往往采用一些特殊函数。例1:g(u,v)=其中0<a<b<1,X表示小于X的最大整数。g(u,v)用于摸拟国际象棋棋盘上的黑白相间方格。47例2:f(u,v)=A(cos(pu)+cos(qv))其中A为[0,1]上的随

量,

p,

q为频率系数,

u,v为函数参数。f(u,v)常用于摸拟粗布纹理。48三、纹理离散法定义纹理通过一个二维数组来定义各种图形、字符位图和数字化图象构成的纹理。纹理为把二维纹理图案到三维的物体表面,必须建立物体空间坐标(x,y,z)与纹理空间坐标(u,v)之间的对应关系--物体表面参数化。(1)如果物体表面是参数曲面,

对应是显然的;(2)如果物体表面是平面多边形或隐函数定义二次曲面,

须求出

关系。49二次曲面纹理可用极坐标把曲面的隐式方程改写为参数方程。例1:圆柱面x2+y2=1(0<=z<=1)改写为:给定u,v,可以求出x,y,z。反之,给定圆柱面上一点(x,y,z),可用下列公式求出参数u,v。50例2:球面x2+y2+z2=1可改写为其逆公式:51三角形和平行四边形表面纹理可以用下列公式建立点坐标与参数的关系:(x,

y,

z)=(u,

v,

1)指定3个顶点的值(如(0,0),(0,1),(1,0)),

即可算出系数矩阵中各系数的值。上式建立了纹理空间与多边形平面之间的一个仿射变换。52一般平面多边形表面的纹理可以用

变换建立点坐标与参数的关系齐次坐标公式表示为:(xw

yw

zw

w)=(u

v

1)在此变换下,所有坐标分量都具有形式。5354四、几何纹理通常

温馨提示

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

最新文档

评论

0/150

提交评论