CN102855654A - 一种超大规模天气效果渲染方法 - Google Patents

一种超大规模天气效果渲染方法 Download PDF

Info

Publication number
CN102855654A
CN102855654A CN2012103319791A CN201210331979A CN102855654A CN 102855654 A CN102855654 A CN 102855654A CN 2012103319791 A CN2012103319791 A CN 2012103319791A CN 201210331979 A CN201210331979 A CN 201210331979A CN 102855654 A CN102855654 A CN 102855654A
Authority
CN
China
Prior art keywords
sphere
particle
joint block
quaternary tree
particle source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012103319791A
Other languages
English (en)
Other versions
CN102855654B (zh
Inventor
罗健欣
唐斌
倪桂强
胡谷雨
金凤林
谢钧
端义锋
缪志敏
陈剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PLA University of Science and Technology
Original Assignee
PLA University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PLA University of Science and Technology filed Critical PLA University of Science and Technology
Priority to CN201210331979.1A priority Critical patent/CN102855654B/zh
Publication of CN102855654A publication Critical patent/CN102855654A/zh
Application granted granted Critical
Publication of CN102855654B publication Critical patent/CN102855654B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种超大规模天气效果渲染方法,以经度
Figure 2012103319791100004DEST_PATH_IMAGE002
、纬度
Figure 2012103319791100004DEST_PATH_IMAGE004
的取值区间二分划分来实现球面的四叉分块;添加粒子发射器,形成粒子源,组合粒子源形成四叉树粒子系统;区域编辑,选取处于目标区域内部或者与目标区域相交的球面四叉树节点块,并将这些球面四叉树节点块添加到节点块队列中,实现对目标区域的逼近;利用粒子源的边界盒和视图截椎的相交判断来实现粒子源剔除。本发明天气效果的渲染效率有了很大的提升;具有强大的动态自适应能力,可以适应程序运行过程中的各种变化。

Description

一种超大规模天气效果渲染方法
技术领域
本发明属于超大规模天气效果加速渲染技术,特别是一种超大规模天气效果渲染方法。
背景技术
天气效果的实时渲染一直是计算机图形学领域最具挑战性的课题之一,在地理信息系统、游戏、影视等工业领域中有广泛的应用价值。
利用计算机渲染天气效果,需要解决效果和效率两方面的问题。效果问题关注天气效果渲染的视觉逼真度,即呈现在屏幕上的天气效果与实际生活中的天气效果的相似程度,解决的是静态问题。效率问题着重于天气效果渲染的实时性。要求渲染得到的每帧图像都是动态变化的,且变化情况与自然界的天气现象相似,解决的是动态问题。
目前,由Reeves于1983年首先提出的粒子系统是实现雨、雪、云、雾、等天气效果渲染的主流技术(Wiliam T.Reeves.A technique for mo-deling a class offuzzy object.SIGGRAPH’83,Computer Graphics,July 1983,17(3):359~376)。粒子系统基于粒子在固定区域范围内随机出现的方式,粒子的形态变化和运动方式完全遵循动力学规律。当渲染的天气效果范围较小时,粒子系统可以得到较高的逼真度和实时性。但是利用粒子系统渲染的天气效果的区域范围和区域边界形状固定,缺乏自适应改变能力,无法用于模拟任意区域形状的天气效果。同时,当天气范围增大时,粒子系统只能通过增加粒子数量的方式来实现天气效果的渲染,渲染效率迅速下降。面对诸如全球范围内天气效果的实时渲染需求时,由于粒子数量巨大,对计算机的计算和存储能力要求非常高,在目前的计算机软硬件条件下,传统的粒子系统根本无能为力。
对于超大规模的天气效果渲染问题来说,效率低下是其面临的主要问题,因此迫切需要一种加速技术来提升效率。四叉树作为目前广泛应用平面超大规模空间数据处理的加速技术,具有强大的效率提升能力。但是四叉树无法直接用于解决球面空间的划分问题。直至目前,尚无已公开发表的关于诸如全球范围内超大规模天气效果模拟的研究成果。
发明内容
本发明的目的在于针对全球范围内任意大小和形状的天气效果区域,提供一种基于四叉树粒子系统的加速渲染方法,从得到高逼真度的天气效果实时模拟图像。
实现本发明目的的技术解决方案为:一种超大规模天气效果渲染方法,包括以下步骤:
第一步,以经度θ、纬度
Figure BDA00002112060800021
的取值区间二分划分来实现球面的四叉分块;
第二步,添加粒子发射器,形成粒子源,组合粒子源形成四叉树粒子系统,即在球面四叉树所有的叶子节点内添加粒子发射器形成粒子源,一个粒子源渲染出一小块区域内的天气效果,所有的粒子源组合形成四叉树粒子系统,渲染出任意区域形状和范围的天气效果;
第三步,区域编辑,选取处于目标区域内部或者与目标区域相交的球面四叉树节点块,并将这些球面四叉树节点块添加到节点块队列中,实现对目标区域的逼近;
第四步,粒子源剔除,利用粒子源的边界盒和视图截椎的相交判断来实现粒子源剔除。
本发明与现有技术相比,其显著优点:(1)天气效果的渲染效率有了很大的提升。(2)具有强大的动态自适应能力,可以适应程序运行过程中的各种变化。
下面三幅图给出了在PC机(Intel E7400CPU 2.8GHz,2G RAM,ATI RadeonHD 3450)上利用标准OpenGL图形库实现的超大规模下雨效果的示意图。图1展示了基于四叉树粒子系统,结合区域编辑算法实现的三个任意形状区域的天气效果。图2和图3展示了四叉树粒子系统实现的全球范围内的降雨效果图。本文的算法具有极高的渲染效率,渲染全球范围内的天气效果平均可以获得30fps的速度。
目前虽然已有大量已公开发表的天气效果渲染方案(如:Changbo Wang,Zhangye Wang,Tian Xia,Qunsheng Peng,Real time snowing simulation,The VisualComputer,2006,22(5):315等),但这些方案的天气都只局限于小范围区域内的天气效果模拟,其研究重点也都着重于视觉效果的改善,都未涉足超大规模区域范围天气效果模拟的效率提升。
下面结合附图对本发明作进一步详细描述。
附图说明
图1是区域编辑效果示意图。
图2是利用本发明实现的高视点下全球降雨效果图(高视点)。
图3是利用本发明实现的低视点下全球降雨效果图(低视点)。
图4是球面四叉树分块示意图。
图5是区域编辑示意图。
图6是区域编辑构建四叉树森林核心流程图。
图7是粒子源剔除算法核心流程。
图8是粒子源剔除结果示例。
图9是粒子源剔除结果拓扑图示例。
具体实施方式
本发明超大规模天气效果渲染方法,是基于球面四叉树粒子系统来渲染天气效果,借助四叉树的思想建立球面四叉树对地球表面进行划分,每个节点代表一块区域范围。在球面四叉树的叶子节点添加粒子发射器构成粒子源,不同的粒子源组合构成四叉树粒子系统。四叉树粒子系统可实现对全球范围内任意大小、任意形状区域的天气效果模拟,步骤如下:
第一步,建立球面四叉树,以经度θ、纬度
Figure BDA00002112060800031
的取值区间二分划分来实现球面的四叉分块。
如图4所示,点O表示地球球心,点P表示地球表面上的任意一点,OP的距离等于地球半径R。P′表示P在XOY平面的投影,θ是
Figure BDA00002112060800032
Figure BDA00002112060800033
的夹角,
Figure BDA00002112060800034
Figure BDA00002112060800035
与X轴的夹角。点P的球坐标Psph
Figure BDA00002112060800036
公式(1)中,θ的取值范围为[-π/2,π/2],
Figure BDA00002112060800037
的取值范围为(-π,π],这样做的好处在于坐标θ与可以分别与地球的纬度和经度相对应,便于理解和计算。确定了球面半径r,球面区域的范围则由θ与
Figure BDA00002112060800039
的变化区间进行控制。对θ与的取值区间进行划分可实现对球面区域的划分。例如:将公式(1)中θ与
Figure BDA000021120608000311
的取值区间各划分为原来的1/2,则可以将整个地球表面划分为4个子区域块,各子区域块的θ与
Figure BDA00002112060800041
的取值区间分别为
Figure BDA00002112060800042
Figure BDA00002112060800043
(2)
Figure BDA00002112060800044
Figure BDA00002112060800045
按照这种分块方式对球面进行四叉划分,各层次区域块构成四叉树形的结构,我们称之为球面四叉树。球面四叉树满足以下条件:
a、整个球面作为球面四叉树的根节点,根节点为第一层节点。θ的区间长度为π,
Figure BDA00002112060800046
的区间长度为2π。
b、四叉树中的每个非叶子节点可划分为四个子节点,第N层节点的θ与
Figure BDA00002112060800047
的区间长度分别为:
Figure BDA00002112060800048
Figure BDA00002112060800049
对于某一个节点块来说,若区域块内点的θ与
Figure BDA000021120608000410
取值范围已经确定,在此节点块内从地平面到海拔为H的空域内任意一点的球坐标为:
Figure BDA000021120608000411
(3)
其中:θminmax∈(-π/2,π/2],
Figure BDA000021120608000412
球面四叉树的深度取决于视点处于当前位置时的视图截椎的视野范围(视图截椎是图形学中的基本概念,可以参考图形编程的书籍)。计算球面四叉树深度Lmax的公式为:
Figure BDA000021120608000413
AngleView表示当前视野范围内可见区域的角宽度(根据视图截椎获得,具体方法较为基础,许多图形学编程的书籍都有讲述),且有:0<AngleView<π。层次为Lmax的叶子节点块可以对地球表面做出当前视点位置下最精细的划分,节点块的层次达到Lmax后,不可继续划分子节点。
虽然球面四叉树划分方式存在着一个问题:随着θ的值朝着南北两极方向增长,节点块的变形将越来越明显。当θ接近两个极点时,如果深度太大,节点块甚至收缩成将近一个点。但是在本发明中,节点块仅用于限定粒子出现的范围而不是实际的渲染对象。只要保证各节点块内的粒子密度大致相等,就不会受到形变带来的不良影响,在步骤2中提出的密度控制方法专门用来解决此问题。
为了防止处于地球南北两极的节点块过渡收缩,对于中心点超过南北纬85°的节点块,限定其可达的最大节点深度。通过大量的实验证明:我们将中心点超过南北纬85°的节点块最大深度限制在11到13层之间,可以取得较好的效果。
第二步,添加粒子发射器,形成粒子源,组合粒子源形成四叉树粒子系统,即在球面四叉树所有的叶子节点内添加粒子发射器形成粒子源,一个粒子源渲染出一小块区域内的天气效果,所有的粒子源组合形成四叉树粒子系统,渲染出任意区域形状和范围的天气效果。
在球面四叉树所有的叶子节点内添加粒子发射器形成粒子源(粒子发射器是粒子系统的一个基本概念,很多图形学文献中都可以查到相关知识介绍)。一个粒子源可以渲染出一小块区域内的天气效果,所有的粒子源组合形成四叉树粒子系统,可以渲染出任意区域形状和范围的天气效果,具体的步骤如下:
a.假设此球面四叉树上某叶子节点块的中心点的经度为lon,纬度为lat,经度方向大小为Slon,纬度方向大小为Slat,粒子生成位置的海拔高度为h。此粒子生成区域块的中点坐标为:
Figure BDA00002112060800051
b.在此节点内添加粒子发射器形成粒子源,发射器发射的粒子初始位置为:
Figure BDA00002112060800052
Rand(x)函数可以得到[0,x]范围内的一个随机数(x>0)。
c.为了保证同一时刻各个球面四叉树叶子节点块内的粒子密度相同,还需要通过限定每个粒子发射器发射的粒子数量来实现密度控制,每个粒子发射器一次发射的粒子数量为:
(Lmax-L+1)·ρ·cosθlat    L<Lmax    (7)
其中:Lmax表示球面四叉树的深度,L表示球面四叉树中某叶子节点块的层次,lat表示该叶子节点块中心点纬度。ρ表示一个中心点位于赤道上(θlat=0),层次为Lmax的粒子源发射器一次发射的粒子数量,修改ρ值可以实现天气效果强度的改变。
控制粒子发射器发射粒子数量的目的在于抵消球面四叉树节点块形变产生的影响,保证了每个节点块的粒子密度大致相等,保证了视觉效果。
d.粒子源按照传统粒子系统的运行流程更新各个粒子的状态(粒子系统粒子运行流程在图形学中较为基础,很多资料都有相关介绍),渲染该粒子源内的所有粒子可以得到区域块内的实时天气效果。大量的粒子源组合构成四叉树粒子系统,可以渲染出任意范围内的天气效果。
粒子源是四叉树粒子系统的基本结构,这种模块化结构保证了四叉树粒子系统具有可裁剪性和自适应变化能力。同时,四叉树粒子系统这种基于球面四叉树的组织方式为解决渲染超大规模天气效果的低效率问题提供了有利途径。
第三步,区域编辑,选取处于目标区域内部或者与目标区域相交的球面四叉树节点块,并将这些球面四叉树节点块添加到节点块队列中,实现对目标区域的逼近。
现实世界中,天气现象出现的区域形状各异,很难用规则形状来表示,但是可以利用不同大小的规则图形来逼近。图5展示了本发明利用不同层次的球面四叉树节点块来逼近非规则的目标天气区域边界的一个示例。
在选取用于逼近天气区域的球面四叉树节点块时需要用到判断点是否处于多边形内部的方法。判断的方式如下:
假设目标天气区域形状为凸多边形,其边界由边界点连接形成。任意边界点指向其逆时针方向下一个边界点的向量为该点指向任意点A的向量为
Figure BDA00002112060800062
令:
b = | p → × q → | - - - ( 8 )
对于区域边界上的所有点,若均满足b≥0或者均满足b≤0,可以判定点A处于多边形内部,否则点A处于多边形外部。
若区域边界是凹多边形,则先将凹多边形分解为多个子凸多边形,只要判断得到A处于某一个子凸多边形内部,则认为A处于整个凹多边形内部,否则A处于凹多边形之外。我们将这种判断点是否处于多边形内部的方式称为点线判别法。
区域编辑核心流程如图6所示。假设目标多边形区域为U。目标区域U的最大经度宽度为θw(所有边界点中最大经度与最小经度差)。区域编辑具体过程如下:
a.新建一个球面四叉树森林F,此时F中没有任何元素。根据θw确定用于逼近目标区域U的最大叶子节点层次为
Figure BDA00002112060800071
η用于控制节点块对目标区域的逼近程度,值越大逼近程度越高。通过大量实验,我们发现η=3即可取得较满意的效果。
b.新建一个球面四叉树节点块队列RegionQueue,将整个地球表面作为顶层节点块RegionQueue。
c.如果RegionQueue为空,算法结束。否则:弹出RegionQueue中的队首节点块Ur
d.如果节点块Ur的角宽度AngleUr>θw,AngleUr角宽度等于节点块东西边界的经度差,将节点块划分为四个子节点,并压入RegionQueue的队尾,算法返回c。如果AngleUr≤θw,算法转到e。
e.将Ur中的四个顶点和中心点作为待判定点,分别利用点线判别法来判断各点是否位于多边形U的内部。用S来统计处于多边形内部的点数。
f.如果S=0,说明Ur的5个待判定点都位于多边形外部,则认为U∩Ur=0,即节点块Ur处于目标区域U的外部。删除处于节点块Ur,算法返回至c。
g.如果0<S<5,说明Ur的5个待判定点部分处于多边形内部,则认为U∩Ur≠0,且
Figure BDA00002112060800072
即节点块Ur与目标区域U有部分重合。如果节点块Ur的层次L≥Lmax,则将Ur添加至F;否则将节点块Ur分裂为4个子节点,压入队列RegionQueue队尾。返回至步骤c。
h.如果S=5,说明Ur的5个待判定点都位于多边形内部,则认为即认为该节点块完全位于目标区域U内部。将Ur添加至F。返回至步骤c。
i.如果要编辑多个天气区域,对每个区域边界都运行同样的流程,运行结束后,F中的所有元素都是没有子节点的节点块,这些节点块实现了对任意形状天气区域的逼近,按照粒子数量计算公式(公式(7))计算各节点块内的发射器每次发射的粒子数量,添加粒子发射器形成新的四叉树粒子系统,渲染出目标区域内的天气效果。
第四步,粒子源剔除,利用粒子源的边界盒和视图截椎的相交判断来实现粒子源剔除。
为了保证渲染效果的实时性,必须在保证视觉效果的同时对粒子规模进行控制。本发明借助边界盒和视图截椎来实现粒子源剔除(边界盒和视图截椎是图形学中的基本概念,很多图形书编程教程里面都有相关介绍),通过粒子源剔除来实现效果和效果平衡。
粒子源剔除的关键在于判断一个粒子源的节点块边界盒是否与视图截椎相交,若不相交则将该粒子源剔除,以减少计算机的计算量,提升效率。判断边界盒与视图截椎是否相交的具体实现方法如下。
假设视图截椎任意一个面的法向量为
Figure BDA00002112060800081
地球球心到该平面的距离为D。每个球面四叉树的节点块都有一个边界盒与其外接,点P是当前四叉块边界盒的任意一个顶点,
Figure BDA00002112060800082
表示地球球心到点P的向量,令
Figure BDA00002112060800083
计算的结果有如下三种情况:
A)若l<0,则说明点P在平面的背面(法线反方向一侧)。
B)若l>0,则说明点P在平面的外面(法线正方向一侧)。
C)若l=0,则说明点P在平面上。
对于一个顶点来说,如果它与视图截椎的6个面按照公式(10)进行计算的结果都符合情况A),则认为该点处于视图截椎内部;否则,认为该点处于视图截椎外部。
在边界盒的8个顶点中,只要有一个顶点处于视图截椎内部,就说明此节点块的边界盒与视图截椎相交(如果8个顶点都处于视图截椎内部,说此节点块处于视图截椎内部);如果没有顶点处于视图截椎内部,则说明此节点块的边界盒不与视图截椎相交,该节点块不在当前可视范围内。
在步骤3中得到的四叉树森林F的基础上,利用粒子源的边界盒和视图截椎的相交判断来实现粒子源剔除,核心流程如图7所示,具体的步骤如下:
a.新建一个粒子源队列CullQueue,遍历四叉树森林F,将所有粒子源节点块压入CullQueue。当前视图截椎的角宽度为AngleView。
b.如果CullQueue为空,则算法结束。否则:弹出CullQueue首部的粒子源节点块Uc
c.判断Uc的边界盒是否与视图截椎相交。若不相交,则剔除此节点的粒子源,返回b。否则获取Uc的角宽度AngleUc(角宽度可由节点块东西两边的经度差获得),转向步骤d。
d.如果此节点块处于视图截椎内部,保留此粒子源,返回至步骤b,否则转向步骤e。
e.如果AngleUc≤AngleView,保留此粒子源,返回步骤b,否则转向步骤f。
f.如果AngleUc>AngleView,则将此节点块分裂为4个子节点块,根据子节点块的深度和位置添加粒子发射器形成新的粒子源,并将四个粒子源块压入队列CullQueue的队尾,返回步骤b。
图8展示了一个粒子利用源剔除算法的结果示例,图9是对应的拓扑图。粒子源剔除过程完成后,队列CullQueue中保留的粒子源实现了对视野内的区域范围的天气效果的实时渲染。当视点发生变化时,再次执行粒子源剔除算法,可以保证视野的天气效果始终能得到高效的实时渲染。

Claims (4)

1.一种超大规模天气效果渲染方法,其特征在于包括以下步骤:
第一步,以经度θ、纬度
Figure FDA00002112060700011
的取值区间二分划分来实现球面的四叉分块;
第二步,添加粒子发射器,形成粒子源,组合粒子源形成四叉树粒子系统,即在球面四叉树所有的叶子节点内添加粒子发射器形成粒子源,一个粒子源渲染出一小块区域内的天气效果,所有的粒子源组合形成四叉树粒子系统,渲染出任意区域形状和范围的天气效果;
第三步,区域编辑,选取处于目标区域内部或者与目标区域相交的球面四叉树节点块,并将这些球面四叉树节点块添加到节点块队列中,实现对目标区域的逼近;
第四步,粒子源剔除,利用粒子源的边界盒和视图截椎的相交判断来实现粒子源剔除,步骤如下:
a.新建一个粒子源队列CullQueue,遍历四叉树森林F,将所有粒子源节点块压入CullQueue,当前视图截椎的角宽度为AngleView;
b.如果CullQueue为空,则算法结束,否则:弹出CullQueue首部的粒子源节点块Uc
c.判断Uc的边界盒是否与视图截椎相交,若不相交,则剔除此节点的粒子源,返回b,否则获取Uc的角宽度AngleUc,转向步骤d;
d.如果此节点块处于视图截椎内部,保留此粒子源,返回至步骤b,否则转向步骤e;
e.如果AngleUc≤AngleView,保留此粒子源,算法返回步骤b,否则转向步骤f;
f.如果AngleUc>AngleView,则将此节点块分裂为4个子节点块,根据子节点块的深度和位置添加粒子发射器形成新的粒子源,并将四个粒子源块压入队列CullQueue的队尾,返回步骤b。
2.根据权利要求1所述的超大规模天气效果渲染方法,其特征在于第一步中的建立球面四叉树的过程为:
1)点O表示地球球心,点P表示地球表面上的任意一点,OP的距离等于地球半径R。P′表示P在XOY平面的投影,θ是
Figure FDA00002112060700013
的夹角,
Figure FDA00002112060700014
Figure FDA00002112060700015
与X轴的夹角。点P的球坐标Psph
Figure FDA00002112060700021
公式(1)中,θ的取值范围为[-π/2,π/2],
Figure FDA00002112060700022
的取值范围为(-π,π];
2)确定了球面半径r,球面区域的范围则由θ与
Figure FDA00002112060700023
的变化区间进行控制,对θ与的取值区间进行划分可实现对球面区域的划分,将公式(1)中θ与
Figure FDA00002112060700025
的取值区间各划分为原来的1/2,则可以将整个地球表面划分为4个子区域块,各子区域块的θ与
Figure FDA00002112060700026
的取值区间分别为
Figure FDA00002112060700027
Figure FDA00002112060700028
(2)
Figure FDA00002112060700029
Figure FDA000021120607000210
按照这种分块方式对球面进行四叉划分,各层次区域块构成四叉树形的结构,称之为球面四叉树,该球面四叉树满足下面两个条件:
a、整个球面作为球面四叉树的根节点,根节点为第一层节点,θ的区间长度为π,
Figure FDA000021120607000211
的区间长度为2π;
b、四叉树中的每个非叶子节点划分为四个子节点,第N层节点的θ与
Figure FDA000021120607000212
的区间长度分别为:
Figure FDA000021120607000213
Figure FDA000021120607000214
对于某一个节点块来说,若区域块内点的θ与取值范围已经确定,在此节点块内从地平面到海拔为H的空域内任意一点的球坐标为:
Figure FDA000021120607000216
(3)
其中:θminmax∈(-π/2,π/2],
Figure FDA000021120607000217
3)计算球面四叉树深度Lmax的公式为:
AngleView表示当前视野范围内可见区域的角宽度,且有:0<AngleView<π,层次为Lmax的叶子节点块对地球表面做出当前视点位置下最精细的划分,节点块的层次达到Lmax后,不可继续划分子节点。
3.根据权利要求1所述的超大规模天气效果渲染方法,其特征在于第二步中的渲染出任意区域形状和范围天气效果的步骤为:
a.假设此球面四叉树上某叶子节点块的中心点的经度为lon,纬度为lat,经度方向大小为Slon,纬度方向大小为Slat,粒子生成位置的海拔高度为h,此粒子生成区域块的中点坐标为:
Figure FDA00002112060700031
b.在此节点内添加粒子发射器形成粒子源,发射器发射的粒子初始位置为:
Figure FDA00002112060700032
Rand(x)函数可以得到[0,x]范围内的一个随机数,x>0;
c.为了保证同一时刻各个球面四叉树叶子节点块内的粒子密度相同,还需要通过限定每个粒子发射器发射的粒子数量来实现密度控制,每个粒子发射器一次发射的粒子数量为:
(Lmax-L+1)·ρ·cosθlat    L<Lmax    (7)
其中:Lmax表示球面四叉树的深度,L表示球面四叉树中某叶子节点块的层次,lat表示该叶子节点块中心点纬度,ρ表示一个中心点位于赤道上,层次为Lmax的粒子源发射器一次发射的粒子数量,修改ρ值实现天气效果强度的改变。
d.粒子源按照传统粒子系统的运行流程更新各个粒子的状态,渲染该粒子源内的所有粒子可以得到区域块内的实时天气效果,大量的粒子源组合构成四叉树粒子系统,渲染出任意范围内的天气效果。
4.根据权利要求1所述的超大规模天气效果渲染方法,其特征在于第三步的区域编辑中,假设目标多边形区域为U,目标区域U的最大经度宽度为θw,区域编辑具体过程如下:
a.新建一个球面四叉树森林F,此时F中没有任何元素,根据θw确定用于逼近目标区域U的最大叶子节点层次为
Figure FDA00002112060700033
η用于控制节点块对目标区域的逼近程度,值越大逼近程度越高;
b.新建一个球面四叉树节点块队列RegionQueue,将整个地球表面作为顶层节点块添加到RegionQueue;
c.如果RegionQueue为空,算法结束,否则:弹出RegionQueue中的队首节点块Ur
d.如果节点块Ur的角宽度AngleUr>θw,AngleUr角宽度等于节点块东西边界的经度差,将节点块划分为四个子节点,并压入RegionQueue的队尾,返回步骤c;如果AngleUr≤θw,转到步骤e;
e.将Ur中的四个顶点和中心点作为待判定点,分别利用点线判别法来判断各点是否位于多边形U的内部,用S来统计处于多边形内部的点数;
f.如果S=0,说明Ur的5个待判定点都位于多边形外部,则认为U∩Ur=0,即节点块Ur处于目标区域U的外部,删除处于节点块Ur,返回至步骤c;
g.如果0<S<5,说明Ur的5个待判定点部分处于多边形内部,则认为U∩Ur≠0,且
Figure FDA00002112060700041
即节点块Ur与目标区域U有部分重合;如果节点块Ur的层次L≥Lmax,则将Ur添加至F;否则将节点块Ur分裂为4个子节点,压入队列RegionQueue队尾,返回至步骤c;
h.如果S=5,说明Ur的5个待判定点都位于多边形内部,则认为
Figure FDA00002112060700042
即认为该节点块完全位于目标区域U内部,将Ur添加至F,返回至步骤c。
g.如果要编辑多个天气区域,对每个区域边界都运行同样的流程,运行结束后,F中的所有元素都是没有子节点的节点块,这些节点块实现了对任意形状天气区域的逼近,按照粒子数量计算公式计算各节点块内的发射器每次发射的粒子数量,添加粒子发射器形成新的四叉树粒子系统,渲染出目标区域内的天气效果。
CN201210331979.1A 2012-09-07 2012-09-07 一种超大规模天气效果渲染方法 Expired - Fee Related CN102855654B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210331979.1A CN102855654B (zh) 2012-09-07 2012-09-07 一种超大规模天气效果渲染方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210331979.1A CN102855654B (zh) 2012-09-07 2012-09-07 一种超大规模天气效果渲染方法

Publications (2)

Publication Number Publication Date
CN102855654A true CN102855654A (zh) 2013-01-02
CN102855654B CN102855654B (zh) 2015-04-22

Family

ID=47402215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210331979.1A Expired - Fee Related CN102855654B (zh) 2012-09-07 2012-09-07 一种超大规模天气效果渲染方法

Country Status (1)

Country Link
CN (1) CN102855654B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473802A (zh) * 2013-08-30 2013-12-25 福建天晴数码有限公司 基于粒子系统的全局天气模拟方法
CN105261063A (zh) * 2015-09-29 2016-01-20 北京三维易达科技有限公司 基于八叉树的三维粒子系统模拟大规模海洋气候的方法
CN107341849A (zh) * 2017-07-12 2017-11-10 大连海事大学 一种快速实时烟雾模拟算法
CN109949398A (zh) * 2019-04-18 2019-06-28 成都四方伟业软件股份有限公司 粒子渲染方法、装置及电子设备
WO2021139456A1 (zh) * 2020-01-09 2021-07-15 盾钰(上海)互联网科技有限公司 一种无限视觉边界的图像动态渲染的计算方法及系统
CN114398166A (zh) * 2022-01-27 2022-04-26 重庆大学 基于二分法的分布式计算任务调度方法及设备
WO2022100437A1 (zh) * 2020-11-16 2022-05-19 腾讯科技(深圳)有限公司 虚拟环境中的天气渲染方法、装置、设备、介质及程序

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020018066A1 (en) * 2000-07-05 2002-02-14 Amos Vizer System and method for a dynamic professional syllabus
CN102521863A (zh) * 2011-12-01 2012-06-27 武汉大学 一种基于粒子系统的三维流体标矢量统一动态表示方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020018066A1 (en) * 2000-07-05 2002-02-14 Amos Vizer System and method for a dynamic professional syllabus
CN102521863A (zh) * 2011-12-01 2012-06-27 武汉大学 一种基于粒子系统的三维流体标矢量统一动态表示方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
倪桂强等: "基于四叉树粒子系统的天气效果模拟算法", 《解放军理工大学学报(自然科学版)》, vol. 14, no. 2, 30 April 2013 (2013-04-30), pages 134 - 138 *
罗维佳等: "基于粒子系统的三维场地降雨实时模拟", 《中国图像图形学报》, vol. 9, no. 4, 30 April 2004 (2004-04-30), pages 496 - 500 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473802A (zh) * 2013-08-30 2013-12-25 福建天晴数码有限公司 基于粒子系统的全局天气模拟方法
CN103473802B (zh) * 2013-08-30 2016-04-13 福建天晴数码有限公司 基于粒子系统的全局天气模拟方法
CN105261063A (zh) * 2015-09-29 2016-01-20 北京三维易达科技有限公司 基于八叉树的三维粒子系统模拟大规模海洋气候的方法
CN105261063B (zh) * 2015-09-29 2018-10-19 北京三维易达科技有限公司 基于八叉树的三维粒子系统模拟大规模海洋气候的方法
CN107341849A (zh) * 2017-07-12 2017-11-10 大连海事大学 一种快速实时烟雾模拟算法
CN107341849B (zh) * 2017-07-12 2020-03-10 大连海事大学 一种快速实时烟雾模拟算法
CN109949398A (zh) * 2019-04-18 2019-06-28 成都四方伟业软件股份有限公司 粒子渲染方法、装置及电子设备
WO2021139456A1 (zh) * 2020-01-09 2021-07-15 盾钰(上海)互联网科技有限公司 一种无限视觉边界的图像动态渲染的计算方法及系统
WO2022100437A1 (zh) * 2020-11-16 2022-05-19 腾讯科技(深圳)有限公司 虚拟环境中的天气渲染方法、装置、设备、介质及程序
CN114398166A (zh) * 2022-01-27 2022-04-26 重庆大学 基于二分法的分布式计算任务调度方法及设备
CN114398166B (zh) * 2022-01-27 2024-05-28 重庆大学 基于二分法的分布式计算任务调度方法及设备

Also Published As

Publication number Publication date
CN102855654B (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
CN102855654B (zh) 一种超大规模天气效果渲染方法
KR101148613B1 (ko) 지형 생성 시스템, 지형 생성 방법 및 프로그램 저장 장치
CN105989198B (zh) 基于bim的公路参数化自动建模方法和系统
EP1763846B1 (en) Rule-based procedural terrain generation
EP1754196B1 (en) Resource management for rule-based procedural terrain generation
CN105336003B (zh) 结合gpu技术实时流畅绘制出三维地形模型的方法
US8234234B2 (en) Utilizing ray tracing for enhanced artificial intelligence path-finding
CN106570926B (zh) 一种飞行视景仿真中高效的粒子云层绘制方法
US20090273601A1 (en) Image Presentation Method and Apparatus for 3D Navigation and Mobile Device Including the Apparatus
CN103279983B (zh) 中国唐朝风格古建筑的建模方法
CN108919954B (zh) 一种动态变化场景虚实物体碰撞交互方法
CN106600697A (zh) 一种面向3d场景的导航网格地图表示方法
CN107038745A (zh) 一种3d旅游景观漫游交互方法及装置
CN104700413A (zh) 一种三维虚拟场景的植被实时动态绘制方法
CN102306106A (zh) 虚拟空间导航图自动生成方法与系统及其寻路方法与系统
CN106355636B (zh) 虚拟现实三维水体渲染中水体网格的处理方法
CN104376586A (zh) 一种2d游戏天气效果处理方法及其处理装置
CN104680568A (zh) 一种三维虚拟场景中车辆车辙印的动态生成方法
CN107833269B (zh) 一种三维场景中实现地形透明的方法
CN104091361A (zh) 一种面向运动模糊的层次包围盒设计方法
CN104075719A (zh) 一种三维导航方法和装置
CN104574493A (zh) 一种远景平滑淡出的方法及装置
CN111340941B (zh) 球面坐标系下基于矢量图形的倾斜摄影动态单体化方法
CN118121938A (zh) 网格数据生成方法、装置、存储介质及电子装置
Teoh Autopolis: Allowing user influence in the automatic creation of realistic cities

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150422

Termination date: 20180907