CN103544677B - 空天地一体化态势表达引擎 - Google Patents
空天地一体化态势表达引擎 Download PDFInfo
- Publication number
- CN103544677B CN103544677B CN201310532405.5A CN201310532405A CN103544677B CN 103544677 B CN103544677 B CN 103544677B CN 201310532405 A CN201310532405 A CN 201310532405A CN 103544677 B CN103544677 B CN 103544677B
- Authority
- CN
- China
- Prior art keywords
- viewpoint
- target
- viewpoints
- point
- coordinate system
- 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.)
- Active
Links
Abstract
本发明涉及空天地一体化态势表达引擎,首先计算目标物最大外接球体的半径R和目标中心到视点中心的距离dis,进而动态设定三维引擎的透视投影参数。通过动态设定三维引擎的透视投影参数,可以避免因对于不同目标,近裁剪面到远裁剪面之间的距离过大,由于舍入误差造成的抖动。
Description
技术领域
本发明涉及一种空天地一体化态势表达引擎。
背景技术
随着技术的发展,人类的活动不再局限于地面,空间成为人类活动的又一重要场所。为了占领空间这块重要的领地,越来越多的卫星发射升空,使得在轨和失效的卫星达到了成千上万颗,空间环境急剧恶化。为确保空间安全,维护空间利益,各国纷纷建立了自己的空间态势感知系统。空间态势感知系统是一个庞大复杂的系统工程,其获取的数据包含天基、地基等各类多源异构数据,如何将这些数据有效利用起来,为战略战术决策及其他空间活动提供信息服务成为一个迫切需要解决的问题。
为了更好的掌握空间态势系统感知的空间目标、空间环境等各类数据的变化规律及其相互作用关系,需要开发空天地一体化态势表达引擎,将大到整个太阳系的各大行星,小到地球上的一个地面站及其周围高分辨率地形,可见的空间目标及不可见的空间环境等各类数据进行统一展示。要实现各类态势数据的自然顺畅展示,首先需要解决的就是视点控制问题,视点控制的好坏直接影响用户对态势表达引擎的使用体验。
视点是用户观察可视化场景的唯一接口,是虚拟现实的基本要素。对于简单的可视化场景展示,一般利用开发工具本身提供的函数即可满足要求,如OpenGL的gluLookAt()函数。对于复杂的可视化场景则需要更加具有“沉浸感”的视点控制方法,如GoogleEarth、WorldWind等数字地球可视化系统的视点控制方法,这类可视化引擎的视点控制主要解决的是如何更好的实现地面上的漫游,视点始终以地球为关注点,可以进行旋转、缩放和绕地面某点进行旋转,近地漫游时地平线始终水平,无法倾斜;还有一类如STK这样的重点在空间目标仿真的可视化引擎,该引擎将用户关注的目标一直置于视场的中心,对目标进行旋转和缩放,不适合地面场景的浏览,视点可以在不同目标之间进行切换,但是切换采用直接变换方式,没有变换的过程,很突兀;另外一类是如Celestia这样的行星际可视化引擎,这类可视化引擎视点可以在不同目标之间进行流畅的切换,但是其主要关注的焦点是各类天文目标,当视点拉近到地球等球体表面时,会出现地平线倾斜,无法绕球面某点进行旋转等问题,从而影响地面地形的浏览体验。上面的几类视点控制方法都无法很好的满足空天地一体化态势表达引擎的需求。
由于空天地一体化态势表达引擎的主要特点有数据类型多、空间尺度和距离变化大、涉及坐标系多等特点,为了使设计的视点控制方法能够更好的适应空天地一体化态势表达,下面对空天地一体化态势表达的各个主要特点进行详细的分析。
1.1数据类型多
空间态势感知数据是空天地一体化态势表达引擎的表达对象,空间态势感知数据纷繁复杂。根据监测数据的类型,感知数据可分为两大类,一是空间目标数据,包括地球轨道上的所有目标:在轨活动卫星、失效卫星、空间碎片等各类大小目标;二是空间环境数据,包括太阳活动相关数据、地磁场、电离层、空间辐射带、高能粒子等各类数据。除了感知数据外还有一类数据是空间态势感知系统本身的数据,如地基和天基监视系统本身分布情况、运行状态等,这类数据从表达形式上可以和空间目标数据归为一类。另外一类数据是地球本身的地理信息数据以及整个太阳系的各大行星数据和恒星背景数据。由此构成了一个完整的包含空天地的态势表达系统的基础数据,上面这些数据中,部分数据本身是可见的直观的,如空间目标等数据,这些数据要真实的再现,部分数据本身是抽象的不可见的,因此需要对这些数据进行可视化表达,使不可见的变为可见的。如此繁多的数据需要在同一个框架下进行统一展示,这为视点控制带来了前所未有的困难。图1是空天地一体化态势表达引擎的数据分类图。
1.2空间尺度和距离变化大
空天地一体化态势表达引擎除了数据类型多外,还有一个重要的特点就是需要表达的目标空间尺度和距离变化巨大,大到整个太阳系中半径为696,300千米的最大目标太阳,小到地球表面上一个几米大的监控雷达;远到距离太阳最远的海王星离太阳4,504,300,000千米,到太阳最近的水星也有57,910,000千米,而地面上的两个目标之间的距离则可以近到一米以内,如何实现这么大尺寸跨度的目标的精确表示,以及这么大距离跨度的目标之间的无缝切换是是必须解决的关键技术。
1.3涉及坐标系多
空天地一体化态势表达引擎中的各类目标不是简单的叠加,而是按照严格的时空关系模型,让目标在相应的时间处于正确的地点,对各类目标空间位置的描述则必须基于它们相应的坐标系。由于空间态势感知的数据种类繁多,涉及到了多个学科,而在不同的学科中对研究对象的描述都有常用的坐标系,如在描述太阳系中各大行星的运动时常用日心黄道坐标系;描述某一行星的卫星运动时通常采用该行星的惯性坐标系,对卫星本身的描述则采用卫星本体坐标系;描述行星表面上的固定目标时,则采用该行星的固定坐标系;对于空间环境数据的描述,如辐射带常采用地磁坐标系,地球磁场数据则习惯采用地心太阳磁层坐标系。
由此可见,涉及的坐标系繁多是空天地一体化态势表达引擎的又一特点,要把涉及到这么多坐标系的数据在一起统一展示,则必须要解决的是这些坐标系之间的相互转换问题,为此本发明综合各类态势感知数据的参考坐标构建了如图2所示的坐标转换关系图,该转换关系覆盖了太阳系范围内常用的参考坐标,与空间目标相关的各类轨道坐标、本体坐标,与空间环境相关的以地球为中心的各种磁层参考坐标等。坐标关系的理顺为视点控制奠定了基础。
空天地一体化态势表达引擎所表达的数据类型繁多,空间尺度和距离大、涉及坐标系多,视点控制要达到比较满意的目的,必须针对这些特点进行设计。现有技术主要存在如下问题:
问题一,由于空天地一体化引擎包含了行星、航天器、地面地形、空间环境等各类态势感知数据的可视化表达,态势表达引擎中若只采用一种浏览目标的视点控制方法则难以满足要求,如浏览航天器的视点控制方法用到地面地形的浏览时则会出现地平线倾斜、无法绕地形关注点进行旋转等一系列影响用户体验的问题,
问题二,综合分析视点控制方法,视点的浏览主要有两类动作:一类是绕某一方向矢量旋转一定角度,另外一类是进行缩放时按缩放值进行位移。在以桌面电脑为平台的态势表达引擎中,视点控制主要通过鼠标交互接口进行实现,通常情况下,直接将鼠标移动量和滚轮滚动量映射到视点的旋转角度和缩放值上即可实现视点的交互控制,这种方法映射关系简单,便于实现,但是交互效果生硬,没有动感,鼠标动多少,视点就对应的旋转相应的角度,滚轮转多少,视点就对应的缩放多少,鼠标的变换停止视点变换就立刻停止。
问题三,当需要将视点从当前关注的目标切换到另外一个目标时,可以采用立即模式,即用户设置新的关联目标后,场景中立即出现新关联的目标。这种视点切换方式实现简单,但是缺乏视点从一个位置到另外一个位置的过渡,显得比较呆板,不生动,尤其是从整个太阳系切换到地球某颗卫星时,这种方法显得较为突兀。
问题四,空天地一体化态势表达引擎的一大特点就是时空跨度巨大,要想实现如此大尺度下各类空间目标的精细表达就必须克服由于浮点数舍入误差过大引起的抖动问题,抖动会造成物体某些部分被不确定裁剪、三角网格破裂、纹理错乱等一系列问题。
发明内容
本发明的目的是提供一种空天地一体化态势表达引擎,用以解决上述问题四的引擎时空跨度大易产生抖动的问题。
为实现上述目的,本发明的方案包括:
空天地一体化态势表达引擎的抖动消除方法,包括如下步骤:
首先计算目标物最大外接球体的半径R和目标中心到视点中心的距离dis,然后按式(21)设定三维引擎的透视投影参数:近裁剪面zNear和远裁剪面zFar,
以视点为中心原点的局部坐标来进行抖动消除的步骤:在计算出目标在视点局部坐标系的坐标后,再以视点为原点进行目标的绘制;S-XYZ是采用大浮点数的坐标系,O-X′Y′Z′是视点局部坐标系,P点是目标点,设P点在S-XYZ中的坐标为(X,Y,Z)T,P点在O-X′Y′Z′中的坐标为(ΔX,ΔY,ΔZ)T,则观测目标由日心黄道坐标变换到视点局部坐标系的坐标的公式为:式(9)中M,T分别为视点局部坐标系在日心黄道坐标系下的旋转和位移矩阵。
空天地一体化态势表达引擎,包括:
三维引擎的透视投影参数模块:首先计算目标物外包围合的半径R和目标中心到视点中心的距离dis,然后按式(21)计算设定三维引擎的透视投影参数:近裁剪面zNear和远裁剪面zFar,
空天地一体化态势表达引擎还包括以视点为中心原点的局部坐标来进行抖动消除的处理模块:在计算出目标在视点局部坐标系的坐标后,再以视点为原点进行目标的绘制,S-XYZ是采用大浮点数的坐标系,O-X′Y′Z′是视点局部坐标系,P点是目标点,设P点在S-XYZ中的坐标为(X,Y,Z)T,P点在O-X′Y′Z′中的坐标为(ΔX,ΔY,ΔZ)T,则观测目标由日心黄道坐标变换到视点局部坐标系的坐标的公式为:式(9)中M,T分别为视点局部坐标系在日心黄道坐标系下的旋转和位移矩阵。
通过动态设定三维引擎的透视投影参数,可以避免因对于不同目标,近裁剪面到远裁剪面之间的距离过大,由于舍入误差造成的抖动。
进一步的,将大浮点数坐标转换到小浮点数的局部坐标中进行显示,采用以视点为中心原点的局部坐标来实现抖动消除。
附图说明
图1是数据分类图;
图2是空间坐标转换关系;
图3是空间态势数据树状结构图;
图4是分类分级视点控制方法;
图5是水平方向视点作旋转运动示意图;
图6是视点坐标系变换示意图;
图7是视点局部坐标系定义方法示意图;
图8是连续视点转换方式示意图;
图9是球形线性插值示意图;
图10是目标在视点和日心黄道坐标系的示意图;
图11是透视投影的平截头体示意图;
图12是透视参数动态设定示意图;
图13是太阳系全局视图;
图14是火星视图;
图15是全球TEC分布视图;
图16是地下浏览视图;
图17是GPS卫星视图。
具体实施方式
下面结合附图对本发明做进一步详细的说明。
空天地一体化态势表达引擎,是将近地空间、更远的月球、行星乃至将电离层、辐射层等可视化,包括其中的一个大到整个太阳系,小到地面上的一个地面站,以及地面站周围的地形,同时能够对空间目标编目、空间环境等各类态势数据进行统一展示的空间环境仿真平台。
在现有技术的基础上,为了解决背景技术中指出的诸多问题,本发明分别提出了多种解决方案。以下实施方式仅给出了表达引擎所对应的方法,省略了表达引擎实施例。
本发明提供了一种抖动消除方法。
本发明的空天地一体化态势表达引擎的一大特点就是时空跨度巨大,要想实现如此大尺度下各类空间目标的精细表达就必须克服由于浮点数舍入误差过大引起的抖动问题,抖动会造成物体某些部分被不确定裁剪、三角网格破裂、纹理错乱等一系列问题。
在一体化表达引擎中,由于所表达的目标的尺度具有很大的差距,小到地面上只有几米的地面站,大到直径达1,392,000千米的太阳,要消除抖动就涉及三维引擎的透视投影参数的设定。图11所示是透视投影中的平截头体,平截头体是金字塔被截断之后的形状,平截头体区域即为三维场景中的可视区域,图像显卡在进行图像绘制时会把平截头体中近裁剪面到远裁剪面之间的范围映射到深度缓存区中的0到1之间,即任何在平截头体之间的物体的深度值都变成了0到1之间的某个数。如果近裁剪面到远裁剪面之间的距离较大,由于舍入误差同样会造成抖动。本发明的空天地一体化态势表达引擎表达的目标尺寸差别巨大,只设定一个能适用所有尺度的统一透视投影参数(近裁剪面和远裁剪面)必定造成过小目标表达时出现抖动等现象,因此本发明采用透视投影参数的动态设定方法,根据不同的目标的尺寸来设定透视投影的近裁剪面和远裁剪面,保证既能完整的表达目标,又能保证精度。
具体的设置方法如图12,首先计算物体外最大外接球的半径R和目标中心到视点中心的距离dis,然后按式(21)计算近裁剪面zNear和远裁剪面zFar:
进一步的,由于抖动还涉及浮点数问题,所以在处理浮点数问题上目前主要有两种思路:一是使用更高精度的浮点数来减少舍入误差,但是目前主流的GPU都是32位浮点数,即使外面计算时使用双精度浮点型数据,当传入GPU进行显示时仍然会被截断成单精度的数据。因此目前主要是利用另外一种思路来解决这个问题,即利用较小的浮点数来进行物体绘制,这种思路的依据是原点附近的浮点有较小的舍入误差和较高的精度的特点。要实现第二种思路的抗抖动必须利用局部坐标来实现,即将目标从日心黄道坐标系下的大浮点数坐标转换到小浮点数的局部坐标中进行显示,综合空天地一体化中的各类行星态势感知数据目标以及地球显示的需求,本发明采用以视点为中心原点的局部坐标来实现抖动消除。
如图10所示,S-XYZ是采用大浮点数的坐标系,在空天地一体化引擎中即为日心黄道坐标系,O-X′Y′Z′是视点局部坐标系,P点是目标点,设P点在S-XYZ中的坐标为(X,Y,Z)T,P点在O-X′Y′Z′中的坐标为(ΔX,ΔY,ΔZ)T,则观测目标由日心黄道坐标变换到视点局部坐标系的坐标的公式如下:
式(20)中M,T分别为视点局部坐标系在日心黄道坐标系下的旋转和位移矩阵。
计算出目标在视点局部坐标系后,再以视点为原点进行目标的绘制,即可实现以较小的浮点数代替大的浮点数的目的,从而完成抗抖动的效果。综合利用上面的两种抖动消除方法,可以实现较好的抗抖动效果,获得更加自然真实的态势表达。
本发明提供了一种分类分级目标浏览方法
用于解决态势表达引擎中只采用一种浏览目标的视点控制方法则难以满足要求,影响用户体验的问题,包括步骤如下:
目标分类:判断目标属于球类目标还是属于非球类目标;若目标属于非球类目标,则采用通用的视点控制方法;
距离分级:若为球类目标,判断是远视点浏览还是近球面浏览,若为远视点浏览,则采用通用的视点控制方法;若为近球面浏览,则采用特殊的视点控制方法;
通用的视点控制方法包括:绕目标旋转、缩放和视线方向控制的视点控制方法;特殊的视点控制方法包括:地平线水平的视点控制方法、视点不穿越地形的视点控制方法、视点绕前方某点旋转的视点控制方法。
下面具体介绍上述各种视点控制方法。
绕目标旋转
如图5所示,在观察目标所处的坐标系O1-XYZ中,视点在水平方向旋转λ度后,即视点P绕Z轴旋转λ度后旋转至图中P′所在位置,变换关系为:
P′=Rz(λ)P (1)
式中
同理可得在垂直方向视点围绕观察目标作旋转运动,即绕X轴旋转的变换公式为:
P′=Rx(λ)P (3)
式中
缩放控制
对观察目标进行缩放可以通过视点移进和远离观察目标实现,视点的缩放运动过程可以归纳为:
P′=factor·P (5)
其中P是视点原来的位置,P′视点缩放后所在位置,factor为缩放因子,且factor>0,当factor>l时,实现的是缩小效果;当factor<1时,实现的是放大效果。
视线方向控制
在本发明的态势表达引擎中,为保证观察者能看到观察目标,必须保证视点坐标系的Z轴方向指向观察目标。如图6所示:O2-XYZ坐标系是视点坐标系。为保证Z轴指向观察目标,视点坐标系先绕Z轴旋转-H角度,然后再将坐标系绕X轴旋转-p角度,此时Z轴指向观察目标。
通过上面的视线方向变换后,观察目标将置于视场中心,此时,视点坐标系再分别绕X轴和Y轴进行旋转即可实现观测目标在垂直和水平方向的平移效果,绕Z轴旋转则可实现整个场景绕视点中心的旋转效果。
以上视点控制方法可以用于球类目标的远视点时和其它非球类目标的视点控制,对于球类目标和非球类目标的主要区别是:对球类目标进行浏览时,视点一般不进入球体内部,并且近球面浏览时采用的视点控制方法有别于远视点时的控制方法。
对于球类目标,防止视点进入目标内部的方法是在缩放控制时加上如下的判断条件:
|ΔP′|>R (6)
其中|ΔP′|表示视点到目标中心的距离,R是球面目标的半径。
近球面浏览时,如地球地形的浏览显示时,为了让场景浏览更加符合人的生活经验,对视点控制有一些特殊的要求,比如,保证地平线是水平的,视点不能穿越有起伏的地形,视点可以绕前方的某点旋转等,它们分别对应地平线水平的视点控制方法,视点不穿越地形的视点控制方法,视点绕前方某点旋转的视点控制方法,为不失一般性,下面就以我们熟悉的地球为例,分别详细介绍实现这些近球面浏览时的特殊要求的具体视点控制方法:
地平线水平
首先定义一个局部坐标系O′g-X′Y′Z′,该坐标系的定义方法如图7所示,以视点中心与地心的连线OoOE与地面交点G为坐标原点,以地心到G点的方向为Z′轴方向,以G点处的正北方向为Y′轴方向,以G点处的正东方向为X′轴方向。
为了让近地面浏览时地平线在视场中处于水平,则必须保证视点坐标系Oo-XoYoZo的Xo轴和局部坐标系Z′轴始终处于垂直状态,此时,视点的俯仰可以通过绕Xo轴的旋转实现,视点的左右浏览只需让视点坐标系Oo-XoYoZo绕局部坐标系的Z′轴方向进行旋转即可实现。
视点不穿越地形
要实现视点不穿越地形,除了需要满足式(6)的判断条件,在近地面浏览时,还必须实时计算出视点所在位置的海拔高度,确保其高度值高于对应经纬度上的地面点高程值,即满足式(7)的条件:
Ho>Hg (7)
其中Ho表示视点所在位置对应的海拔高度,Hg表示和视点相同经纬度所对应的地面点的高程值。
视点绕前方某点旋转
在近地面进行地形浏览,当遇到感兴趣的目标点,如某一座山、某一座建筑时,可能需要对这个地面目标进行环绕观察,为了实现这一功能,本发明以兴趣点为原点建立一个局部坐标系,这个坐标系的定义方法与前面的局部坐标系O′g-X′Y′Z′相同,只是坐标系原点不同。建立好局部坐标系后,在该坐标系中,采用公式(1)所表示的旋转方法进行视点位置变换,让视点绕局部坐标系的Z轴旋转进行姿态变换,这样即可完成视点绕兴趣点旋转,通常取视线和地球的交点作为兴趣点。
本发明还提供了一种带惯性的视点控制方法。
综合分析视点控制方法,视点的浏览主要有两类动作:一类是绕某一方向矢量旋转一定角度,另外一类是进行缩放时按缩放值进行位移。Δx和Δy为输入的水平旋转移动量和输入的垂直旋转移动量,Δd输入的缩放滚动量,在桌面电脑为平台的态势表达引擎中,视点控制主要通过鼠标交互接口进行实现,鼠标的移动和鼠标滚轮的滚动对应于视点控制的两类动作。鼠标移动时,主要是鼠标的位置产生变化,在本实施方式中,输入设备为鼠标,Δx和Δy分别为鼠标在屏幕上的水平和垂直移动量,Δd为滚轮滚动时对应的缩放滚动量。现有技术中直接将鼠标移动量和滚轮滚动量映射到视点的旋转角度和缩放值上即可实现视点的交互控制,即采用公式(8)进行映射。
Angle=F(Δx,Δy)
factor=G(Δd) (8)
式中Angle是视点绕某一方向矢量的旋转角度,F(Δx,Δy)是(Δx,Δy)到Angle的映射函数;factor是视点缩放时的缩放值,G(Δd)是Δd到factor的映射函数。
上面这种方法,映射关系简单,便于实现,但是交互效果生硬,没有动感,鼠标动多少,视点就对应的旋转相应的角度,滚轮转多少,视点就对应的缩放多少,鼠标的变换停止视点变换就立刻停止。为了让场景浏览更加自然,具有动感,如式(9)所示,本发明将鼠标移动量和滚轮滚动量映射到视点的旋转角速度和缩放速度上,而不是原来的旋转角度和缩放因子上,也就是说,式(9)中,Vangle是视点绕设定方向矢量的旋转角速度,Vfactor是视点的缩放速度;F(Δx,Δy)是(Δx,Δy)到Vangle的、设定的映射函数;G(Δd)是Δd到Vfactor的、设定的映射函数。
Vangle=F(Δx,Δy)
Vfactor=G(Δd) (9)
对应的旋转角度与缩放值则可以用下式来表示:
Angle=Vangle×Δt
factor=Vfactor×Δt (10)
式(10)中Δt取绘制相邻两帧场景的时间间隔。鼠标移动后,通过式(9)可以确定视点旋转的角速度,通过式(10)则可以确定当前场景帧相对于上一场景帧的视点旋转角度,仅仅通过这两步还不能完成视点控制,因为每次鼠标移动时确定的旋转角速度Vangle是一个常数,这样视点将一直旋转下去,为此,本发明引入阻尼系数D,在每帧场景绘制之前,对速度值采用阻尼变换,如下式所示:
式(11)中是当前场景帧的旋转角速度,是上一场景帧的旋转角速度,是当前帧的缩放速度,是上一帧的缩放速度,Dangle、Dfactor的值在0到1之间。这样经过多帧的渲染,旋转角速度将会逐渐接近于0,从而停止旋转变换。
因为旋转速度是随着渲染的帧数逐渐下降的,设定合理的阻尼系数,当鼠标停止变换时,速度值还没有变为0,对应的视点变换还将进行,直到速度为0停止变换,这种视点控制方式,从场景浏览体验上会给人一种目标具有惯性的感觉,所以本发明把这种变换方式称为带惯性的视点控制。至于阻尼系数值的确定主要根据用户的需求和经验来确定,本发明通过实践发现当阻尼系数取0.92左右时,能得到较好的浏览体验。缩放的变换过程和旋转类似,这里不再赘述。
本发明还提供了一种视点的跨尺度无缝切换方法。
当需要将视点从当前关注的目标切换到另外一个目标时,可以采用立即模式,即用户设置新的关联目标后,场景中立即出现新关联的目标。这种视点切换方式实现简单,但是缺乏视点从一个位置到另外一个位置的过渡,显得比较呆板,不生动,尤其是从整个太阳系切换到地球某颗卫星时,这种方法显得较为突兀。为了给用户一个很自然的无缝切换过程,本发明对视点切换方式进行了改进,除了提供立即模式切换方式外,还提供连续模式视点切换,即视点不直接到达目标位置,而是沿一定的路径从当前位置移动到目标位置。由于本发明的态势表达引擎的跨度较大,包含了整个太阳系的态势感知目标,因此本发明采用沿直线的转换方式,既能够达到无缝切换的效果,又便于实现。沿直线的转换方式即在给定的时间沿直线路径连续变换到指定地点。直线线性插值公式较为简单,如下式:
式(12)中P是待插值点位置矢量,A是视点切换的起点位置矢量,B是视点切换的终点位置矢量,Dis是待插值点到起点的直线距离。当视点距离目标较远时,采用沿直线转换方式。较远是指:如从太阳系全局至每个星球,较近是指:绕地球行进的情况,比如视点从中国伤口转移至美国上空。
当视点距离目标较近,如从地球上空的一点到地球上空的另一点时,如果还是采用直线的方式,视点转换过程中很容易穿过地球,使转换效果大打折扣(如图8所示,虚线表示穿过地球),为此本发明提供另外一种沿球面的转换方式,采用沿球面转换的方式可以避免穿越地球的问题。
要实现球面漫游,必须运用球形的线性插值技术,这种插值沿着两个关键点之间在球面上的最短弧线进行的。如图9所示,在一个二维平面上,向量A与向量B夹角为ω,向量P与向量A夹角为θ,P即可由A、B间的球形线性插值得到:
P=αA+βB (13)
给定下面三个条件我们可以求得α和β:
由此得到:
通过本发明视点控制和视点切换方法的组合使用,可以实现空天地一体化态势表达引擎中各类目标的全方位观察和无缝切换。
一体化框架下的地形绘制
空天地一体化态势表达引擎与现有的引擎的最大区别在于将全球多分辨地形显示集成到具有准确时空关系,包含太阳、各大行星、各类空间态势感知数据的一体化平台当中。目前一般采用多分辨金字塔模型来组织全球地形数据,这种技术首先把全球按经纬度分层不同的层和块预先存储起来,当视点移动时,将不在视椎体内的地形块从内存卸载,用新的地形块替换,当视点向地球靠近时,使用精细的地形块替换粗糙的地形块,远离时,则用粗糙的地形快替换精细的地形块,最终实现全球地形数据的快速渲染。以往的方法主要是针对地面上的可视化需要,没有考虑地球的自传、公转以及与其他行星的关系,数据调度与渲染时只需要考虑各地形瓦片在地固系下的具体坐标即可。为了让以往的方法能够应用到本发明的一体化表达框架下,进行数据调度时必须将原来的大地坐标系的坐标转换到日心黄道系下坐标。目前的数据和分块方法一般是以经纬度为单位,首先必须转换到地球固定坐标系,接着转换到地球惯性坐标系,最后转换到日心黄道坐标系实现对应的地形数据在整个空天地一体化态势展示场景中的准确绘制。
本发明还提供了一种目标相关的视点设置方法。
空天地一体化态势表达引擎最终要成为一个能够展示整个太阳系各类可见和不可见的空间态势感知数据的系统,虽然要表达的数据种类繁多,空间尺度和位置变化巨大,但并不是无规律可循。从时空关系来看,我们可以发现各类数据都有一个父节点,如各大行星绕着太阳作公转运动,则太阳可以看成各大行星的父节点;月球和地球轨道航天器绕着地球运动,则地球可以看成是月球和各类地球轨道航天器的父节点;地面站等地面上的目标,虽然相对地球是静止的,但是地球仍然可以看成是这些目标的父节点,对应的这些目标就是地球的子节点。依此类推,整个太阳系的各类数据就可以用如图3所示的一个树状结构组织起来,从而构成一个有序的态势表达场景,在这个场景树中,父节点的每个空间变换都会传递到子节点,结合前面的坐标系变换关系,态势表达场景的每个目标节点只要保证其与父节点之间的空间变换关系是正确的,即可保证整个空间态势表达引擎中各目标空间位置的有序准确表达。
视点可以看成是三维场景中的一个虚拟观察者,如果让这个观测者按照空间中的绝对位置置于场景中,虽然也可以实现对场景的观察,但是整个太阳系中各类行星及空间目标都是处于不断的运动当中,如果要实现观测者和空间目标的相对静止,则观察者必须经历和空间目标一样的空间变换,这样不仅浪费计算资源,而且容易出错。为了克服这个问题,本发明将观测者与态势表达的各类目标相关联,将观察者当作一个空间目标,为观察者指定一个父节点,这样需要关注哪个目标时,就指定该目标为观察者的父节点,观察者只负责与关注目标的相对空间变换即可,如前面的相对静止问题,只要保证观察者在父节点固定坐标系中位置不变皆可轻易解决。此时通过改变观察者在父节点中的位置和姿态,即可实现对关注目标的任意角度浏览。同时根据观察者关联的是父节点的坐标系类型,还可以实现一些特殊的浏览效果,如将观察者与地球的惯性坐标系相关联,则可观察地球的自转运动,关联到地球的固定坐标系则可以观察到斗转星移的效果。
根据上述方法,我们开发了空天地一体化态势表达引擎,如图13是视点和太阳相关联时太阳系的全局视图,图中展示了各大行星绕太阳的运行情况。通过本发明的视点切换方法,可以将视点自然的过渡到任意行星,如图14是视点切换到火星附近的视图。图15是视点切换到地球观察全球TEC分布的视图。图16是视点在地球表面某地区浏览地形时的效果,图中地形的DEM分辨率是8.5米,影像分别率是1米。图17是视点关联到GPS卫星时视图,线条是该卫星的轨道。
Claims (2)
1.空天地一体化态势表达引擎,其特征在于,包括:
三维引擎的透视投影参数模块:首先计算目标物最大外接球体的半径R和目标中心到视点中心的距离dis,然后按式(21)设定三维引擎的透视投影参数:近裁剪面zNear和远裁剪面zFar,
态势表达引擎中采用:
目标分类:判断目标属于球类目标还是属于非球类目标;若目标属于非球类目标,则采用通用的视点控制方法;
距离分级:若为球类目标,判断是远视点浏览还是近球面浏览,若为远视点浏览,则采用通用的视点控制方法;若为近球面浏览,则采用特殊的视点控制方法;
通用的视点控制方法包括:绕目标旋转、缩放和视线方向控制的视点控制方法;特殊的视点控制方法包括:地平线水平的视点控制方法、视点不穿越地形的视点控制方法、视点绕前方某点旋转的视点控制方法;
所述地平线水平的视点控制方法为:首先定义一个局部坐标系,保证视点坐标系的X轴和局部坐标系的Z轴垂直,通过绕视点坐标系的X轴旋转实现视点的俯仰,通过绕局部坐标系的Z轴实现视点的左右浏览;
所述视点不穿越地形的视点控制方法为:保证视点到目标中心的距离大于球面目标的半径,在近地面浏览时,确保视点所在位置的海拔高度高于对应经纬度上的地面高程值;
所述视点绕前方某点旋转的视点控制方法为:首先以感兴趣目标点为原点建立一个局部坐标系,然后在局部坐标系中以公式P′=Rz(λ)P所表示的旋转方法进行视点位置变换,让视点绕局部坐标系的Z轴旋转进行姿态变换,其中P是视点原来的位置,P′是视点绕坐标轴旋转λ度后的位置,Rz(λ)表示计算视点P绕坐标轴旋转λ度后的位置的运算矩阵。
2.根据权利要求1所述的空天地一体化态势表达引擎,其特征在于,还包括以视点为中心原点的局部坐标来进行抖动消除的处理模块:在计算出目标在视点局部坐标系的坐标后,再以视点为原点进行目标的绘制,S-XYZ是采用大浮点数的坐标系,O-X′Y′Z′是视点局部坐标系,Q点是目标点,设Q点在S-XYZ中的坐标为(X,Y,Z)T,Q点在O-X′Y′Z′中的坐标为(ΔX,ΔY,ΔZ)T,则观测目标由日心黄道坐标变换到视点局部坐标系的坐标的公式为:式(9)中M,T分别为视点局部坐标系在日心黄道坐标系下的旋转和位移矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310532405.5A CN103544677B (zh) | 2013-11-01 | 2013-11-01 | 空天地一体化态势表达引擎 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310532405.5A CN103544677B (zh) | 2013-11-01 | 2013-11-01 | 空天地一体化态势表达引擎 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103544677A CN103544677A (zh) | 2014-01-29 |
CN103544677B true CN103544677B (zh) | 2017-03-01 |
Family
ID=49968101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310532405.5A Active CN103544677B (zh) | 2013-11-01 | 2013-11-01 | 空天地一体化态势表达引擎 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103544677B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107644395B (zh) * | 2016-07-21 | 2021-08-10 | 荣耀终端有限公司 | 图像处理方法以及移动设备 |
CN108921778B (zh) * | 2018-07-06 | 2022-12-30 | 成都品果科技有限公司 | 一种星球效果图生成方法 |
CN112419499B (zh) * | 2020-11-14 | 2022-11-29 | 中国科学院电子学研究所苏州研究院 | 一种沉浸式的态势场景仿真系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3433918B2 (ja) * | 2000-04-28 | 2003-08-04 | 株式会社コナミコンピュータエンタテインメントジャパン | ゲームシステム、ゲームシステムにおける表示画像形成方法およびゲーム用プログラムが記憶されたコンピュータ読み取り可能な記録媒体 |
JP2012013592A (ja) * | 2010-07-02 | 2012-01-19 | Nikon Corp | 3次元形状測定機の校正方法及び3次元形状測定機 |
-
2013
- 2013-11-01 CN CN201310532405.5A patent/CN103544677B/zh active Active
Non-Patent Citations (3)
Title |
---|
一种解决全球地形绘制抖动问题的方法;罗飞雄等;《系统仿真学报》;20110330;第23卷(第3期);正文第3页左栏第4段,图3 * |
空间目标天基光学观测系统建模与探测能力分析;蓝朝桢;《中国博士学位论文全文数据库 基础科学辑》;20111215(第12期);正文第20页第15行-第21页第1行 * |
近地空间环境三维建模与可视化技术;蓝朝桢;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20060415(第4期);正文第58页第16-17行,第61页第4-5行,第62页第7行,图4-3-2,4-3-3 * |
Also Published As
Publication number | Publication date |
---|---|
CN103544677A (zh) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104748746B (zh) | 智能机姿态测定及虚拟现实漫游方法 | |
James et al. | Visualizing Interstellar's wormhole | |
CN106874436A (zh) | 三维警用地理信息平台的多源影像融合成像系统 | |
CN106777373B (zh) | 三维警用地理信息平台及系统架构 | |
CN102346922B (zh) | 航天遥感载荷成像几何畸变三维可视化仿真方法 | |
CN102945570A (zh) | 一种全空间三维数字地球模型的构建方法 | |
CN102567586A (zh) | 一种航天任务三维综合态势的仿真系统及仿真方法 | |
CN106296818A (zh) | 一种基于移动平台的近地空间场景仿真方法及系统 | |
CN112419499B (zh) | 一种沉浸式的态势场景仿真系统 | |
CN110146093A (zh) | 双体小行星探测自主协同光学导航方法 | |
CN104457735A (zh) | 基于World Wind的4D航迹显示方法 | |
CN103544677B (zh) | 空天地一体化态势表达引擎 | |
CN108197325A (zh) | 一种虚拟三维实景空中观光游览应用方法与系统 | |
CN106595608A (zh) | 分布交互通用测绘仪 | |
CN103606194B (zh) | 空天地一体化态势表达引擎及其分类分级目标浏览方法 | |
CN103605424B (zh) | 空天地一体化态势表达引擎及其带惯性的视点控制方法 | |
Basmadji et al. | Development of ground station for a terrain observer-hardware in the loop simulations | |
CN103605883A (zh) | 空天地一体化态势表达引擎及其视点跨尺度无缝切换方法 | |
CN103335645A (zh) | 面向景观规划的空间精确定位的图像获取方法 | |
CN102521880B (zh) | 一种火星表面的三维描绘方法 | |
Wan et al. | Virtual geographical environment | |
Hui-Wei et al. | Resource navigation system of typical lijiang river tourism based on GIS and panorama technique | |
Olanda et al. | Entertainment virtual reality system for simulation of spaceflights over the surface of the planet Mars | |
CN115396321B (zh) | 一种星地一体网络态势可视化方法、服务器及存储介质 | |
Yu et al. | WebGL-based Network Multi-view Visualization Interactive Analysis Method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |