苏州北大青鸟|电脑人才培训中心『官方网站』

高中生毕业了做什么?高中生学什么好 苏州北大青鸟、苏州北大青鸟学费、苏州北大青鸟地址
ACCP7.0培训-入手最快 JAVA培训—收入最高 .NET培训—就业面最宽 网络营销培训—需求量最大
高中毕业学什么好 大学生找不到工作怎么办 学什么技术有前途(好转行) 初中(中专)毕业学什么好
当前位置: 主页 > 青鸟百科 >

JAVA真实感图形学研究毕业设计

时间:2012-05-11 17:45来源: 作者: 点击:

(二)消隐及真实感图形生成  

 

1 消隐

 

  在计算机图形学中,有三种方式表示三维物体:线框图、消隐图和真实感图。其中真实感图形的生成也要在消隐基础上进行光照处理。所谓消隐就是给定一组三维对象及投影方式(视见约束),判定线、面或体的可见性的过程。根据消隐在间的不同,消隐算法可分为两类:

  · 物体空间的消隐算法,消隐在规范化投影空间中进行,将物体表面的k个多边形中的每一个面与其余的k-1个面进行比较,精确地求出物体上每条棱边或每个面的遮挡关系。这类算法的计算量正比于k2

  · 图象空间的消隐算法,消隐在屏幕坐标系中进行,对屏幕上的每一个象素进行判断,确定在该象素点上可见的面。若屏幕分辨率为m×n,物体空间中共有k个多边形,则此类算法的的计算量正比于mnk

  大多数消隐算法都涉及排序和相关性的概念。排序是为了确定消隐对象之间的遮挡关系,通常在XYZ三个方向分别进行。消隐算法的效率在很大程度上取决于排序的效率。相关性是指物体对象或其变换后的图象局部保持不变的性质,在消隐算法中利用相关性是提高排序率的重要手段。

  常用的物体空间消隐算法有多边形区域排序算法和列表优先算法等。

  Z-Buffer (深度缓存)是最简单的图象空间面消隐算法,深度缓存数组的使用避免了复杂的排序过程在分辨率一定的情况下,算法计算量只与多边形个数成正比。该算法也便于硬件实现和并行处理。在此基础上,Z-Buffer扫描线算法利用了多边形边和象素点的相关性,使得算法效率进一步提高。扫描线算法也为简单光照模型提供了良好的消隐基础。

 

 

2 简单光照模型及明暗处理

 

 

  光照模型(Illumination Model)是根据有关光学定律,计算真实感图形中各点投射到观察者眼中的光线强度和色彩的数学模型。简单的局部光照模型假定光源是点光源,物体是非透明体,不考虑折射,反射

 

光由环境光、漫反射光和镜面反射光组成。

  

  基于局部光照模型及明暗处理的阴影生成算法也有很多。阴影是指景物中哪些没有被光源直接照射到的按区。在计算机生成的真实感图形中,阴影可以反映画面中景物的相对位置,增加图形的立体感和场景的层次感,丰富画面的真实感效果。阴影可分为本影和半影两种。本影加上它周围的半影组成软影区。单个点光源照明只能形成本影,多个点光源和线光源才能形成半影。

  对多边形表示的物体,一种计算本影的方法是影域多边形方法,环境中物体的影域定义为视域多面体和光源在景物空间中被物体轮廓多边形遮挡的区域的交集。这种方法的实现可以利用现有的扫描线消隐算法。Athherton等人提出了曲面细节多边形方法,以多边形区域分类的隐藏面消去算法为基础,通过从光源和视点两次消隐生成阴影。

  以上两种阴影生成方法只适用于用多边形表示的景物,无法解决光滑曲面片上的阴影生成问题。为此Williams提出了Z-Buffer方法,首先利用Z-Buffer算法按光源方向对景物进行消隐,然后再用Z-Buffer算法按视线方向进行会制。这种方法可以方便地在理包括光滑曲面的任意复杂的景物,但存储量大,阴影区域附近易产生走样。

 

 

3 整体光照模型与光线跟踪

 

 

  照射到物体上的光线,不仅有从光源直接射来的,也有经过其它物体反射或折射来的。局部光照模型只能处理直接光照,为了对环境中物体之间的各种反射、折射光进行精确模拟,需要使用整体光照模型。

  相对于局部光照模型,整体光照模型可以表示为Iglobal=KRIR+ KTIT。其中Iglobal为非直接光照对物体上一点光强的贡献;IR为其他物体从视线的反射方向R反射或折射来的光强,KR为反射系数;KT为其

 

他物体从视线的折射方向T折射或反射来的光强,IT为折射系数。将Iglobal与局部光照模型的计算结果相叠加,就可以得到物体上点的光强。

  光线跟踪算法是典型的整体光照模型,最早由GoldsteNagelAppel等人提出,Appel用光线跟踪的方法计算阴影;WhitedKay扩展了这一算法,用于解决镜面反射和折射问题。算法的基本思想如下:

  对于屏幕上的每个象素,跟踪一条从视点出发经过该象素的光线,求出与环境中物体的交点。在交点处光线分为两支,分别沿镜面反射方向和透明体的折射方向进行跟踪,形成一个递归的跟踪过程。光线每经过一次反射或折射,由物体材质决定的反射、折射系数都会使其强度衰减,当该光线对原象素光亮度的。贡献小于给定的阈值时,跟踪过程即停止。光线跟踪的阴影处理也很简单,只需从光线与物体的交点处向

 

光源发出一条测试光线,就可以确定是否有其他物体遮挡了该光源(对于透明的遮挡物体需进一步处理光强的衰减),从而模拟出软影和透明体阴影的效果。

  光线跟踪很自然地解决了环境中所有物体之间的消隐、阴影、镜面反射和折射等问题,能够生成十分逼真的图形,而且算法的实现也相对简单。但是,作为一种递归算法其计算量十分巨大。尽量减小求交计

 

算量是提高光线跟踪效率的关键,常用的方法有:包围盒(entents)、层次结构(hierarchies)及区域分割

 

(spatial partitioning)等技术。

  光线跟踪是一个典型的采样过程,各个屏幕象素的亮度都是分别计算的,因而会产生走样,而算法本身的计算量使得传统的加大采样频率的反走样技术难以实用。

  象素细分是一种适用于光线跟踪的反走样技术,具体方法是: 首先对每一象素的角点用光线跟踪计算亮度;然后比较各角点的亮度,若差异较大,则将象素细分为4个子区域,并对新增的5个角点用光线跟踪计算亮度;重复比较与细分,直到子区域各角点亮度差异小于给定的阀值为止;最后加权平均求出象素点的显示亮度。

  与象素细分不同,CookPorterCarpenter 提出的分布式光线跟踪是一种随机采样的方法,在交点处镜面反射方向和折射方向所夹的立体角内,按照一定的分布函数同时跟踪若干根光线,然后进行加权平均。Cook等人还提出了利用分布式随机采样技术模拟半影、景深和运动模糊等效果的方法。

  光线跟踪的另一个问题是,光线都是从视点发出的,阴影测试光线则需另外处理,因而无法处理间接的反射或折射光源,例如镜子或透镜对光源所产生的作用就难以模拟。为解决这一问题,可以从光源和视点出发对光线进行双向跟踪。但是,大量从光源出发的光线根本不可能到达屏幕,这使得双向光线跟踪的计算量显著增大,难以实用。HeckbertHanrahanr提出的解决方法是只将从光源出发的光线跟踪作为常归光线跟踪的补充;Arvo方法则是对从光源发出进入环境的光线进行预处理;邵敏之和彭群生等人也提出

了基于空间线性八叉树结构的对光源所发出光线进行优化的双向光线跟踪算法。

4 漫反射和辐射度方法

常规光照模型假设物体间的漫反射是一个恒定的环境光,即使双向光线跟踪也只能处理物体间的反射与折射,而不能处理物体间的漫反射。最初由Goral等人于1984年及Nishita等人于1985年提出的辐射度方法是一种基于热能工程的方法,用光辐射的产生和反射代替环境光,从而能够精确处理对象之间的光反射问题。

  辐射度方法将景物和光源视为一个封闭的系统,在系统中光能量是守衡的;并假定构成景物的曲面都是理想的漫反射面。所谓辐射度,是指单位时间内从曲面上单位面积反射出去的光能量,记为B。在理想情况下,可以近似认为逼近曲面的面片上的光强是均匀的,即漫反射各向均匀。根据能量守衡定律

  辐射度方法的主要计算量在于计算形状因子。CohenGreenberg提出的半立方体方法是一种近似计算

 

封闭面形状因子的高效方法。首先以面片i的中心为原点,法向量为Z轴建立一个半立方体,将其五个表面划分成均匀的网格,每个网格单元的微形状因子可以预先求得;然后将场景中所有其他面片都投影到半立方体上,对于多个面片投影到同一个网格单元的情况需在投影方向上进行深度比较,网格单元只保留最近的面片,这一过程相当于Z-Buffer算法;最后将半立方体中所有与面片j相关的网格单元的微形状因子累加,即可得到面片i相对于面片j的形状因子Fij

   辐射度方法的优点在于算法与视点无关、计算和绘制可以分别独立进行、能够模拟颜色渗透效果等,但无法处理镜面反射与折射。


 


标签:

(原文标题:JAVA真实感图形学研究毕业设计

(责任编辑:苏州北大青鸟



相关新闻

  • E-learning云计算机市场份额逐渐扩大
  • 基于WEB的成本管理系统的设计
  • 基于WEB的学生成绩管理系统的设计及
  • 基于WEB的汽车信息网站的设计
  • 基于WEB的信息信息发布系统的设计及
  • 基于WEB的JSP实验室管理系统的设计
  • 基于WEB的企业人事管理系统的设计
  • 基于JSP的商场进销存管理系统的设计
  • 基于JSP的网络交易市场物业管理系统
  • 基于WEB的毕业设计选题系统的设计及
    更多
    分享按钮
    ------分隔线----------------------------
    招生专题