基于分形三维海面探究及生成.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于分形三维海面探究及生成

基于分形三维海面探究及生成[摘要] 本文根据海浪的自然形态特征,基于分形理论的分形布朗运动FBM(Fractal Brown Motion)原理中的随机中点位移算法――菱形方形法,给出了分形三维静态海面的模拟生成算法。为了实现海浪运动的效果,需将构成海面点的高度值设为随时间和空间变化的函数,在考虑风力因素的条件下给出了三维海浪运动的几何模型和相应的模拟生成算法。并以Windows XP为平台,采用Microsoft Visual C++ 2010为编程工具,使用OpenGL开放图形库为3D图形建模库的开发环境下实现了三维海面的计算机模拟 [关键词] 海浪模拟 分形 随机中点位移算法 分形布朗运动 菱形方形法三维海面 1 引言 虚拟自然环境如地形、植物、海浪、云和火焰等的计算机模拟一直是计算机图形学的重要研究课题之一,其中海浪的模拟相比其他自然环境的模拟更为复杂和困难。当前对于海浪模拟仿真的建模方法根据具体实现原理可分为:基于计算流体力学方法、基于海浪谱方法、基于几何造型方法和基于分形几何方法 基于计算流体力学的方法虽然能够生成逼真的海浪运动效果,但是由于其求解过程过于复杂,在实际应用中一般很少使用。基于海浪谱方法只能模拟海浪的波动效果而不能模拟海浪的翻转卷曲效果。基于几何模型方法是根据海浪的形态特点,选择几何曲线或曲面构造连续变化的海浪形状。基于分形几何方法一般采用FBM方法,生成海浪的分形曲面将生成点的坐标设定为时间和空间相关的函数,进而生成海浪效果,同时通过插值的方法保证图像的连续性有,因而在实际得到广泛应用 本文希望通过对海浪模拟仿真的建模方法的深入研究,以便能更好地了解和掌握如何通过计算机实现模拟自然界中的自然景观技术打下基础 2 静态海浪生成的原理及算法 分形几何学的基本思想是:客观事物具有自相似的层次结构,局部与整体在形态、功能、信息、时间、空间等方面具有统计意义上的相似性,成为自相似性。而悬浮微粒永不停息地做无规则运动的现象叫做布朗运动。分形理论最早是由美籍数学家曼德布罗特提出的,分形的重要特征之一就是自相似性,而海浪就可以看作是周期性的不同尺寸波形的叠加,这些不同尺寸的波形具有大尺度相关而小尺度相似的特征,且空间各向近似同性,即海浪具有自相似的特征,由这种自相似性可看出海浪具有分形特征。基于这个特征,可以利用少量数据生成具有较强真实感和实时性的海浪波动效果 分形布朗运动(Fractional Brownian Motion)是由B.Mandelbrot和、V.Ness于1968年针对随机布朗运动的推广,提出的一种统计自相似过程的数学模型,主要用于生成布朗运动过程 中点位移又叫做随机中点位移法,是最简单和经典的方法,是对分形布朗运动的直接应用。一维随机中点位移法的思想史:针对某一已知端点高程(或属性)的线段,其线段中点的高程(或属性)为其两端点高程(或属性)的平均值再加一随机位移量,位移后的两线段再进行上述中点细分并位移,递归直到满足所需的分辨率为止。将其推广到二维,依据表面构网方式的不同,其模拟可分为三角形边线细分法、方形-方形细分法、菱形-方形法等方法,其实现思想与一维类似。本文采用的是菱形-方形法 2.1菱形-方形法 海浪分形曲面的生成使用FBM 插值方法中的随机中点位移算法.随机中点位移算法一般包括三角形边界法、方形法、菱形法、菱形-方形法等,下面介绍本文所采用的菱形-方形法. 如图1所示,首先从一个正方形的4个角点开始,这4个角点A、B、C、D分别具有不同的高度值hA、hB、hC、hD值,然后计算出中点O的高度值hO,再根据4个角点的位置计算出四边形各边中点位置,同时计算出各边中点的高度值: hO=(hA+hB+hC+hD)/4+gO hE=(hA+hB+hO)/3+gE hF=(hB+hC+hO)/3+gF hG=(hC+hD+hO)/3+gG hH=(hA+hD+hO)/3+gH 由于生成各点高度不同,经多次迭代后可生成一个近似曲面,这个曲面与真实海浪形状比较接近,但是由于PC机硬件性能所限,迭代次数不能过多,以避免大量运算可能产生的计算错误 2.2基于分形的三维静态海浪建模及实现算法 2.2.1分形海面绘制算法 为了实现海浪运动效果,首先需要画出静态海浪曲面,没分形前是1个正方形,第一次分形产生4个正方形,第二次细分可生成16个正方形,第三次则可生成64个,经过i次细分生成的正方形为22i个 同样由于PC机硬件性能所限,迭代次数不能过多,以避免大量运算可能产生的计算错误,本课题最多只采用8次迭代。如图所示经过8次分形迭代所生成的静态海浪曲面效果图 效果图基于FBM方法的曲面生成算法

文档评论(0)

docman126 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档