基于粒子系统的云团快速三维仿真算法的制作方法

文档序号:6578265阅读:545来源:国知局
专利名称:基于粒子系统的云团快速三维仿真算法的制作方法
技术领域
本发明属于气象信息的三维可视化领域,它主要利用三维可视化技术实现了云的三维建模,并且利用粒子系统实现了云团的三维动态仿真。
背景技术
云是一种常见的大气现象,其形成条件各异,形状及色彩也随气象要素的变化而千变万化。云的不规则模糊边界以及复杂的光照特性增加了利用计算机对其模拟仿真的难度,但由于云在气象研究、虚拟战场、飞行仿真、游戏动漫等领域有着重要的应用,近年来,研究人员在云的真实感模拟领域提出了许多新方法,在模拟效率、真实感和实时性等方面取得了较大的进展。针对云的外形建模的方法主要分为三类即数值模拟方法、启发式方法和混合式方法,其中具代表性的云建模算法有以下几种采用的积云对流模型,通过求解简单大气流体动力学方程模拟了尺度较小的云;利用谱合成函数生成云的纹理,将其映射到2D椭球表面生成云的静态图片;将细胞自动机(cellular automata, CA)用于云的生成;对CA进行改进后提出的稱合映像格子(Coupled Map Lattice, CML);采用元球(metaball)方法构造云的基本外形;用粒子系统模拟云等模糊物体。近年来,许多学者在这些算法的基础上提出了很多改进的算法,基于改进Gardenr算法的立体云模拟算法;结合Vega Prime和粒子系统实现了云等自然景观的仿真;基于Cell的绘制更新策略,结合Impostor技术自动混合绘制三维云与Impostor,实现了大规模三维云的实时模拟;更有一些学者将GPU引入来加快云的生成和绘制等。综合上述所有提出的云建模算法,其主要存在两方面的问题第一,由于算法中引入各种数值模型,其将大大地增加云建模的复杂度和计算量;第二,云层的三维仿真效果不好,云的真实感较差。

发明内容
本发明所要解决的技术问题是提供一种能够大幅度地提高云团模拟的真实性和绘制速度的基于粒子系统的云团快速三维仿真算法。本发明采用如下技术方案解决上述技术问题本发明设计了一种基于粒子系统的云团快速三维仿真算法,包括如下具体步骤步骤(I):在空间坐标系中设定出若干球体,用于模拟云的轮廓;步骤(2):找出步骤(I)中所有球体表面的所有点中分别到各坐标轴的最大投影距离和最小投影距离,以到各坐标轴的最大投影距离形成一个端点,以到各坐标轴的最小投影距离形成另一个端点,并以这两个点之间的连线作为直径,画出另一个球体,构造出该球体的内接长方体,该长方体即定义为云团包围盒;步骤(3):根据粒子系统的基本原理,在步骤(2)中的包围盒中随机地产生粒子,并为所述粒子赋予初始属性;
步骤(4):判断该粒子是否包含在步骤(I)中设定的任意球体内,若包含,则该粒子为云粒子;若不包含,则删除且不予考虑;步骤(5):将步骤(4)中的云粒子进行纹理绘制和渲染,实现云团的三维模拟;步骤(6):间隔的判断粒子与球体的位置关系,若粒子运动出球体,则该粒子将不是云粒子,需将其删除。作为本发明的一种优化方法所述步骤(I)包括如下具体处理在空间坐标中设定三个球体,球心的坐标分别为(X1, Y1, Z1),(x2, y2, z2),(x3, y3, z3),半径分别为 R1, R2, R3。作为本发明的一种优化方法所述步骤(2)包括如下具体处理步骤(21):利用如下公式找出三个球体表面的所有点中分别到各坐标轴的最大投
影距离
权利要求
1.一种基于粒子系统的云团快速三维仿真算法,其特征在于,包括如下具体步骤 步骤(I):在空间坐标系中设定出若干球体,用于模拟云的轮廓; 步骤(2):找出步骤(I)中所有球体表面的所有点中分别到各坐标轴的最大投影距离和最小投影距离,以到各坐标轴的最大投影距离形成一个端点,以到各坐标轴的最小投影距离形成另一个端点,并以这两个端点之间的连线作为直径,画出另一个球体,构造出该球体的内接长方体,该长方体即定义为云团包围盒; 步骤(3):根据粒子系统的基本原理,在步骤(2)中的包围盒中随机地产生粒子,并为所述粒子赋予初始属性; 步骤(4):判断该粒子是否包含在步骤(I)中设定的任意球体内,若包含,则该粒子为云粒子;若不包含,则删除且不予考虑; 步骤(5):将步骤(4)中的云粒子进行纹理绘制和渲染,实现云团的三维模拟; 步骤(6):间隔的判断粒子与球体的位置关系,若粒子运动出球体,则该粒子将不是云粒子,需将其删除。
2.根据权利要求1所述的基于粒子系统的云团快速三维仿真算法,其特征在于,所述步骤(I)包括如下具体处理 在空间坐标中设定三个球体,球心的坐标分别为(X^ypZ1), (x2,y2,z2), (x3, y3, z3),半径分别为R1, R2,R3。
3.根据权利要求2所述的基于粒子系统的云团快速三维仿真算法,其特征在于,所述步骤(2)包括如下具体处理 步骤(21):利用如下公式找出三个球体表面的所有点中分别到各坐标轴的最大投影距离
4.根据权利要求3所述的基于粒子系统的云团快速三维仿真算法,其特征在于,所述步骤(3)包括如下具体处理 步骤(31):设随机产生的粒子的坐标为(a,b,c),则
5.根据权利要求4所述的基于粒子系统的云团快速三维仿真算法,其特征在于,所述步骤(4)包括如下具体处理 将随机产生的粒子与包围盒中的每个球体进行比较,运用的公式如下所示
全文摘要
本发明公开了一种基于粒子系统的云团快速三维仿真算法,包括给定若干球体模拟云的轮廓,根据给定的若干球体求出产生粒子的长方体包围盒,在包围盒中随机地产生粒子,并根据粒子系统原理为这些粒子赋予物理属性,比较粒子与球体的位置关系,若粒子包含在球体内,则该粒子为云粒子,否则不是云粒子将删除,对云粒子进行渲染和绘制,从而实现云的三维模拟,每隔一段时间更新粒子的属性,并且重新绘制云,从而实现云的动态模拟。本发明所设计的基于粒子系统的云团快速三维仿真算法能够大幅度地提高云团模拟的真实性和绘制速度。
文档编号G06T17/00GK103049931SQ20121054894
公开日2013年4月17日 申请日期2012年12月17日 优先权日2012年12月17日
发明者潘秋羽, 陆良虎, 石银, 汪大 申请人:南京信息工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1