三维形体的真实感显示PPT.ppt
上传人:天马****23 上传时间:2024-09-09 格式:PPT 页数:50 大小:7.3MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

三维形体的真实感显示PPT.ppt

三维形体的真实感显示PPT.ppt

预览

免费试读已结束,剩余 40 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

三维形体的真实感显示(优选)三维形体的真实感显示在不考虑人的生理因素的情况下,物体的颜色与光源颜色、物体表面物理特性、表面粗糙度、周边环境等因素有关。研究光照模型的目的:10.三维形体的真实感显示1.简单效果的浓淡图生成2)Gouraud模型因此,只要在该区间任一点处找出在该处z值最大的一个面,这个区间上的每一个象素就用这个面的颜色来显示。整体光照明模型就是这样的一种模型,它是相对于局部光照明模型而言的。b)将象素区域映射到景物表面,再由景物表面映射到纹理空间,即:图象空间→景物空间→纹理空间。两者间的夹角为由于空间三维物体是连续点集。整体光照明模型就是这样的一种模型,它是相对于局部光照明模型而言的。}for(每一个多边形){将该多边形进行投影变换;图镜面反射光镜面反射光产生的高光区域只反映光源的颜色能保证多边形边界颜色的连续性,但高光模糊,有时出现过亮或过暗条纹(即马赫效应)。Z-Buffer算法以算法简单著称,但也以占空间大而闻名。2)光线跟踪算法的基本思想例如:我们可以用三维空间中定义的共振函数(正弦函数)来生成木纹理或大理石纹理,这种纹理映射方法称为过程纹理映射。显然直接计算点的颜色将无法确定计算采样点的位置和数目。没有考虑距离对光照强度的衰减影响;经过十多年的发展,辐射度方法模拟的场景越来越复杂,图形效果越来越真实。10.三维形体的真实感显示2.一般性效果图形生成不妨设:入射光强为Il物体表面上点P的法向为N从点P指向光源的向量为L两者间的夹角为如果Il表示点光源的强度,kd表示物体表面漫反射系数,则漫反射方程可描述为:B)镜面反射光对于理想镜面,反射光集中在一个方向,并遵守反射定律。对一般的光滑表面,反射光集中在一个范围内,且由反射定律决定的反射方向光强最大。镜面反射光将会在反射方向附近形成很亮的光斑,称为高光现象。镜面反射光产生的高光区域只反映光源的颜色将V和R都格式化为单位向量,镜面反射光强可表示为:C)环境光环境光是指光源间接对物体的影响,是在物体和环境之间多次反射,最终达到平衡时的一种光。近似地认为同一环境下的环境光,其光强分布是均匀的,它在任何一个方向上的分布都相同。例如,透过厚厚云层的阳光就可以称为环境光。在简单光照明模型中,用一个常数来模拟环境光,用式子表示为:D)Phong光照明模型综上分析,Phong光照明模型表述为:由物体表面上一点P反射到视点的光强I为环境光的反射光强Ie、理想漫反射光强Id、和镜面反射光Is的总和,即:用Phong模型进行计算时,对物体表面上每个点P,均需计算光线的反射方向R,再由V计算(R·V),为减少计算,可作如下假设:a)光源在无穷远处,即光线方向L为常数;b)视点在无穷远处,即视线方向V为常数;c)为避免计算反射方向R,用(H·N)代替(R·V),这里H为L和V的平分向量,即:H=(L+V)/|L+V|Phong光照明模型是真实感图形学中提出的第一个有影响的光照明模型,生成图象的真实度已达到可接受程度。但在实际应用中,它是一个经验模型,还具有以下的一些问题:用Phong模型显示出的物体象塑料,没有质感;没有考虑距离对光照强度的衰减影响;环境光是常量,没有考虑物体之间相互的反射光;镜面反射的颜色是光源的颜色,与物体的材料无关;镜面反射的计算在入射角很大时会产生失真;Phong模型是简单的局部光照模型,对物体间相互反射及折射、阴影处理欠缺等。2)浓淡图绘制算法为了得到屏幕上某象素点所对应的物体上点的颜色,假定作经过该象素点的一条射线,射线平行于观察视线,则射线与多面体物体可能有多个交点。如果物体不是透明的,则处于最前面的交点的颜色即为所求,如右图所示。为计算物体表面上对应象素点的颜色,用帧缓存器存放每个象素颜色(按光照模型计算),用深度缓存空间来存放每个象素深度值Z,称为Z缓冲器(即Z-Buffer)。绘制时思路:1)Z缓冲器中每个单元值是对应象素点所反映物体对象的z坐标值,初值取成z的极小值。2)将待处理的景物表面上的采样点变换到图像空间,计算其深度值z。3)并根据采样点在屏幕上的投影位置,将其z值与已存贮在z缓存器中相应象素处的原可见点的深度值进行比较。4)如果该采样点位于Z缓存器所记录的可见点之前,则将该采样点处的表面颜色填入帧缓存器相应象素,同时用其深度值更新z缓存器存贮的深度值。否则,不写入也不更新。Z-Buffer算法(){for(i=0,1,…,m)//m:窗口水平方向象素数目for(j=1,…,n)//n:窗口垂直方向象素数目{用背景色初始化帧缓存CB:CB(i,j)=背景色;用最小Z值初始化深度缓存:ZB(i,j)=Zmin