APP下载

基于MC算法的三维电子浓度重构研究及实现

2018-02-24邹韬杨东升曹红艳许国宏

电脑知识与技术 2018年34期

邹韬 杨东升 曹红艳 许国宏

摘要:本文探索了一种利用MC算法,对国际参考电离层模型产生的某一区域三维电子浓度大数据进行可视化显示的一种方法。该方法利用osgearth地理信息平台,可快速构建某一区域三维电子浓度图像,形象展示了在某一时刻某一区域内电离层的状态,解决电离层大数据背景条件下直观化展示电离层当前状态的问题,为决策者提取电离层参数提供辅助支持。

关键词: MC算法;三维电子浓度;国际参考电离层模型

中图分类号:TP311     文献标识码:A     文章编号:1009-3044(2018)34-0210-03

1 引言

电离层是地球大气的一个电离区域,对于电波传播与人类活动都有密切的影响。如雷达探测、目标定位、无线电导航、广播等。目前电离层领域已经积累大量数据,基于电离层大数据分析及显示是目前电离层研究的大趋势,研究电离层大数据可视化应用迫在眉睫。本文利用流行的VR技术,使用国际参考电离层模型产生模拟数据源,形象地展示当前的电离层状态。同时,将绘制三维电子浓度做成插件,方便系统集成。

2 概述

2.1 osgearth简介

osgEarth是一个基于OSG、具有GIS功能使用C++语言开发的地理信息系统。具有良好的数据管理能力与多驱动数据源支持。它采用驱动器方式来加载和管理GIS 数据源,内核包含多种驱动器,例如GDAL 驱动器,用于加载影像和DEM 数据; TMS 驱动器,用于加载采用TMS 协议的金字塔瓦片数据等。此外,osgEarth 的高扩展性使得用户可根据需求自行扩展其他类别的驱动器。osgEarth 采用图层概念进行各类数据管理,osgEarth图层包括影像层、高程层、光照矢量层等。不同的图层对應不同数据类型。这种机制更易于不同分辨率的影像、高程以及模型数据的叠加。

osgEarth是基于三维引擎osg开发的三维数字地球引擎库,在osg基础上实现了瓦片调度插件,可选四叉树调度插件,更多的地理数据加载插件,再结合一套地理投影转换插件,这样就能够实现高效处理加载调度地理数据在三维地球上的显示,实现三维虚拟地球。

2.2 电离层简介

电离层是指由于受到太阳高能辐射以及宇宙射线激励而发生部分电离或者完全电离的地球大气区域。电离层的高度一般从离地面约50公里开始一直伸展到约1000公里,其中存在相当多的自由电子和离子。离地面50~90公里的电离层区域称为D层,无线电波中的短波段在该区域受到较大的吸收;离地面90~130公里的电离层区域称为E层;离地面130公里以上的电离层区域成为F层,又可细分为F1层和F2层,F1层只有在白天出现,夜晚消失,F2层为反射无线电信号或影响无线电波传播条件的主要区域,随白天、夜晚、一年四季、不同纬度做有规律的分布。电离层的主要特征由电子浓度、电子温度、离子浓度、离子温度、离子成分等空间分布的基本参数来表征。其中电子浓度随电离层高度的分布情况,为电离层研究的主要目标。单位体积内自由电子的个数称为电离层的电子浓度。

2.3 国际参考电离层模型

国际参考电离层模型(IRI) 是根据大量的地面观测资料和多年累积的电离层研究成果建立起来的,是目前国际应用最广的经验电离层模型,以统计预报的模式反映了平静电离层的平均状态,能够较好地给出全球电离层的相关参数。

国际参考电离层模型(IRI模型) 是在国际著名 的地球物理学家 Karl Rawer 教授的推动下,于 1969 年由空间研究委员会 ( COSPAR) 和国际无线 电科学联盟 (URSI) 共同建立的经验电离层模型, 它主要提供了海拔高度 50 ~ 1500 km 范围内平静 地磁场条件下非极区电离层的电子密度、电子温 度、离子成分、离子温度和离子漂移的月平均值等 重要参数,由于 IRI 用途的广泛性和在电离层研 究领域的重要性,国际标准化委员会通过投票推荐 IRI 为电离层参数的国际技术标准(ISO2009)。

3 设计与实现

3.1 原理

MC算法是一种绘制三维等值面非常成熟的算法,使用许多极小的三角面片近似逼近阈值分界面。目前,大多数显卡都支持对三角面片的图形加速功能,而且,该算法本身并不复杂,所以,在绘制三维等值面应用场景中,经常被用到。MC算法中有两个非常重要的概念,“体元”和“体素”。所谓“体元”是指在三维离散场中,由8个相邻的离散点组成的极小的正方体;而这个小正方体8个顶点,即8个离散点,被称作“体素”。

三维离散场中,依据x,y,z轴方向,分别提取离散点。相邻的8个离散点,组成一个“体元”。在每个离散点的位置上,都有一个数值与之对应,称为“体素值”。如果“体素值”大于或者等于等值面阈值,则定义该离散点处于等值面外部,该“体素值”标记为0,如果“体素值”小于等值面阈值,则定义该离散点处于等值面内部,标记为1。这样,基本体元与阈值分界面就存在三种位置关系,位于阈值分界面内;位于阈值分界面外;处于阈值分界面之间,即分界面穿过基本体元。依据体素值的不同,基本体元大致分为3种类型,阈值内元,阈值外体元,阈值间体元,如图2所示,其中蓝色点表示位于阈值分界面外的离散点,绿色表示位于阈值等值面内的离散点。

离散场中每个“体元”有8个离散点组成,每个离散点有2种状态,即阈值分界面内和外,因而离散点在阈值分界面内外的分布,在“体元”层面上就可以分为256种情况。分界面与“体元”各边相交的情况及“体元”内部分界面划分三角面片情况可以通过一个已经总结好的索引表得到。

为提高计算机在绘制三维等值面时的渲染速度以及减少存储容量,利用2种对称关系,即互补对称关系和旋转对称关系,可以将“体素”分布的256种拓扑结构,简化为15种最基本的模式。其他241种情形可以通过这15种基本情形的互补、旋转方式实现。Marching Cubes算法的15种基本情形如图3所示。

对于阈值分界面,MC算法是利用若干三角面片来逼近拟合的。这样处理的好处就是计算机在渲染三维等值面时,绘制速度会大大提高。阈值分界面只会存在于边界体元中,而对于MC算法,由虚点和实点组成的边是最为关注的。虚点和实点分别位于分界面的两侧,那么就可以通过线性差值的方法,找到该边上的一点,这点的数值恰好为分界面阈值,我们称为“阈值点”。这些“阈值点”是构成三角面片的关键。MC算法以这种方式遍历三维离散场中所有体元,在边界体元中,找到“阈值点”构成三角面片。所有这些三角面片的总和在宏观上就表现为所谓“等值面”。

3.2 实现

三维电子浓度重构是根据用户给定中心点经纬度、起始方位、起始距离、起始高度、方位步进、距离步进、高度步进、方位数目、距离数目、高度数目、电子浓度计算时间等参数,利用国际参考电离层模型计算出所有采样点坐标信息、电子浓度值、索引颜色值,根据设置的三维电子浓度阈值,对所有采样点电子浓度范围进行等级划分。利用Marching Cubes算法在边界体元中生成若干三角面拟合等值面,等值面颜色为该浓度对应颜色值。最终,所有边界体元中的等值面就构成了宏观上的三维电子浓度重构效果。具体做法如下:

第一步,根据方位数(行i)、距离数(列j)、高度数(高k)构建i*j*k的數组,由采样点方位=起始方位+方位步进*行、采样点距离=起始距离+距离步进*列、采样点高度=起始高度+高度步进*高,可以计算出每个采样点的角度、距离、高度。

第二步,根据中心点经纬度、采样点方位、采样点距离可计算出采样点经纬度,由采样点经纬度、高度、电子浓度计算时间通过国际参考电离层库可计算出采样点电子浓度值。设置等值面个数,对所有采样点电子浓度范围等分得到若干个需要构建的等值面。

第三步,使用Marching Cubes算法逐个处理数组中采样点对应三维空间中相邻八个点构成的立方体,找出与等值面相交的立方体,采用线性插值计算出等值面与立方体边的交点。根据立方体每一顶点与等值面的相对位置,将等值面与立方体边上的交点按三角面片连接方式构成等值面,作为等值面在该立方体内的一个逼近表示。

第四步,得到的若干个三角面片都包含三个顶点的行、列、高及电子浓度值,由顶点方位=起始方位+方位步进*行、顶点距离=起始距离+距离步进*列、顶点高度=起始高度+高度步进*高,计算出每个顶点的角度、距离、高度。根据中心点经纬度、顶点角度、顶点距离可计算出顶点经纬度,由顶点经纬高使用地球经纬坐标系转XYZ空间坐标系的方法得出每个顶点的空间坐标。使用OSG的三维渲染技术根据三角面片顶点坐标绘制三角面片,根据电子浓度值对应颜色索引表中颜色值渲染三角面颜色,最终得到三维电子浓度重构效果。

4 结束语

本文提出了一种利用MC算法,基于osgearth地理信息平台,重构三维电子浓度的方法及实现。该方法可快速构建起指定时间,指定区域内的三维电子浓度剖面图像,比较真实地反映了电离层当前状态。该算法程序采用流行的插件封装技术,方便系统集成及调用,其中的三维等值面算法也适用于其他领域三维等值面地计算及实现。

参考文献:

[1] 贺瑞荣,吴恩华.三维等量面构成新算法的实现及其改进[J].计算机辅助设计与图形学学报,1993(2):108-113.

[2] 沈占锋,夏列钢,程熙,等.等值线追踪生成等值面过程中的算法策略[J].武汉大学学报,2015,9,40(9):1201-1208.

[3] 崔汉国.三维非规则数据场可视化中等值面构造算法[J].计算机辅助设计与图形学学报,1995,7(4):277-282.

[4] 张静,刘经南,李丛.国际参考电离层模型的研究与探讨[J].桂林理工大学学报,2017,2,37(1):114-119.

[5] 李衷怡,史娟,李利军.MC算法在电磁场仿真的应用与实现[J].计算机与数字工程,2005,11,33(11):109-111.

[6] 肖鹏,刘更代,徐明亮.OpenSceneGraph三维渲染引擎编程指南[M].北京:清华大学出版社,2010.

【通联编辑:梁书】