首页 > 范文大全 > 正文

八叉树在气象数据可视化中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇八叉树在气象数据可视化中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

[摘 要]当前大气探测的手段在不断提高,人们获得气象数据的途径越来越多,随着计算机图像、图形技术的发展,凭借计算机的巨大处理能力,科学计算可视化技术能够把巨大数量的数据转换为静态或动态图像或图形呈现在人们的面前,为人们分析、理解数据、形成概念和找出规律提供了强有力的手段。本文主要介绍八叉树支持下的多细节层次管理,将观测及数值预报计算出来的大量气象数据进行三维图形显示的应用,使气象预报工作者能够更直观、更深入理解大气演变信息。

[关键词]八叉树;气象数据;可视化

中图分类号:TU211 文献标识码:A 文章编号:1009-914X(2014)17-0215-02

1 引言

科学计算可视化是计算机图形学研究的热点领域之一,可视化技术极大地提高了数据处理的速度和处理的质量推进了科学计算工具和研究环境的进一步现代化。云是自然界中常见的景观,在计算机技术日益成熟的今天,云的计算机模拟已经成为可能并已广泛的引用到各种领域中,如影视特效、游戏场景、气象预报等。作为自然界中做常见的现象,云的模拟在涉及到自然场景的游戏中已不可或缺;对于影视剧的情节需要生产各种满足艺术家要求的云也是非常实用并且有效的;在虚拟战场环境中,云的模拟有利于天气信息的视觉直观表达。

三维云的计算机模拟的研究取得了长足的进展。Dobashi等人提出给予元细胞自动机的模拟方法对云进行模拟,他们提出的方法实现了对云图的三维建模,此外,他们提出了全球级云的建模方法较好的完成了交互式云密度的生成[。Miyazaki[1]等人提出了CML方法对云形成的物理过程进行了近似模拟,能够根据一定的大气参数设置生成不同类型的云。这为本文的研究工作找到了切合点,本文对气象数据进行了分析,但不同的是,利用八叉树[4]对粒子进行层次管理,采用粒子系统方式实现云的可视化。

(2)自适应调度:

多粒度支持下的自适应调度,随着视点的移动,程序自动地调用不同层次的数据。在实际的程序中 调度 是不同层次节点描述文件的调度。

2.2 八叉树管理下场景的建立

这一部分的目的是将渲染文件生成渲染结点,并构建成渲染的场景。应用程序根据摄像机的具置和朝向,调用不同的层次的数据。

(1)节点形状的选择

由此我们的方案时,每个立方体包含多个面(子节点),而我们在渲染时就是自适应调度这些立方体。这里我们选择的面是正方形。(同时也可以考虑六边形)。同样我们可以考虑下面任何一种形状,如图2所示:

(2)子节点的个数和位置的确定

64*64*64 的规格数据块在八叉树的管理下,我们可以得到每层每个地方体内云的平均密度。根据平均密度确定盒子中包含的节点的个数,如图3所示。

确定完子节点的数目n后,在盒子内随机创建n个位置,作为子节点的中心位置。子节点的位置尽可能覆盖整个盒子。每个盒子的子节点的信息需要保存起来,放置在节点的描述文件中,(例如:子节点的中心位置,尺寸,对应于下层细节节点中的位置等,下面继续介绍)。每个子节点(面)的尺寸由盒子的尺寸和该区域云的平均密度确定。

创建好一些列子节点的中心位置之后,我们需要对子节点的中心位置进行优化,确保任何两个相邻的子节点的位置在我们给定的某一确定值之外,这个确定值由节点的尺寸确定,经过试验为节点尺寸的1/3,效果较好。

为了确保在切换到细节节点时,云的整体形状不会产生太大的变化,我们要保存上层节点,在切换时我们只是在相应的位置添加一些随机放置的节点,但这些新增的节点的尺寸,纹理和数量是有该下层盒子的尺寸和平均云密度决定的。(下面继续介绍),同时也需要对该盒子内的所有节点进行优化。确保每个节点之间的空间距离不过于太小。

(3)子节点纹理的选择

创建了一些列的位置以后,我们需要为每个面赋予给定相应的纹理,以构建云的形状。那么如何选择纹理呢? 我们的解决方案是根据云密度的不同,选择不同的纹理。同一阶段的密度,我们需要给定多个可供选择的纹理,以避免纹理太过于单调。如下图5所示:

上面的这一些列的操作需要对任何一个八叉树结构下的盒子操作的,节点的纹理选定好后,我们还需要对接点进行角度的偏转,使由节点纹理组成的云的形状更加真实,而不是显得那么有规则。同时并保存旋转的角度。对于每个盒子,除了选定的那些特定的节点外,我们还需要创建一个底面节点,底面节点的偏移角度在0-5度的范围之间,而其他节点的偏移角度在0-360度的范围内。

在节点的纹理选择过程中我们我们需要考虑的问题就是在层次切换过程中尽可能减少突变的程度。所以我们的解决方法是:下层云的密度影响上层相应位置节点的纹理的选择。

(4)子节点颜色的确定

当所有的子节点选择好纹理后,构建了云的整体形状,但是由于实际生活中云颜色并不是一样的,所以我们需要确定所有节点的顶点的颜色,以绘制出高逼真的云。

4 结束语

实验结果表明:利用基于八叉树的气象数据的管理,语义映射的自适应多线程可视化,可以很好的描述出大气中云的状态。八叉树作为描述三维气象数据的树状数据结构,在多粒度场景结点构建过程中,可以准确地描绘每个粒度(层级)的场景信息。3D气象数据渲染系统直观地展现出大气信息,对气象研究工作有着非常深远的意义。

参考文献

[1] Ryo Miyazaki S Y,et al. A method for modeling clouds based on Atmospheric Fluid dynamics [C]//Proceedings of the 9th Pacific Conference on Computer Graphics and Applications,2001:363.

[2] Pantelis Elinas W S. Real-time rendering of 3D clouds[J]. Journal of Graphics Tools, 2000, 5(4): 33-45.

[3] R.Bayer and M.Schkolnick,“Concurrency of Operations on B-Trees,”Acta Inf.Vol.9(1977),pp.1-21.

[4] 惠文华, 郭新成,3维 GIS 中的八叉树空间索引研究[J]测绘通报,5-7,2003.