您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 航天器在轨运行的三维可视化仿真
本科生科研训练计划项目(SRTP)项目成果项目名称:航天器在轨运行的三维可视化仿真项目负责人:林凡庆项目合作者:曲大铭侯天翔杨唤晨孙洁所在学院:空间科学与物理学院专业年级:空间科学与技术2013级山东大学(威海)大学生科技创新中心项目编号:A15165航天器在轨运行的三维可视化仿真空间科学与物理学院空间科学与技术专业林凡庆指导教师许国昌杜玉军摘要:航天器在轨运行的三维可视化程序设计是建立卫星仿真系统最基础的工作。航天器在轨运行的三维可视化仿真有着重要的意义:它既可以使用户对卫星在轨运行情况形成生动直观、全面具体的视觉印象,又可以大大简化卫星轨道的设计过程。本文首先构建了航天器在轨运行的三维可视化仿真程序的基本框架,然后对涉及到的关键理论与知识,如时间、坐标转换、卫星轨道理论、OpenGL图形开发库等也做了阐述,最后介绍了我们的主要工作和科研成果。我们的主要成果是实现了卫星在轨运行的三维可视化仿真并对原有程序进行了改进。关键词:航天器在轨运行三维可视化程序设计OpenGLAbstract:Theprogrammerofthree-dimensionalvisualizationonsatellitein-orbitingistheutmostfoundationalworkinestablishingsatelliteemulationsystem.Thethree-dimensionalvisualsimulationonsatelliteisofgreatsignificance:itassuresthatusersmayreceiveavividanddirect-viewinganditalsocangreatlysimplifythedesignprocessofsatelliteorbit.Thebasicframeofthree-dimensionalvisualsimulationprogramonsatellitein-orbitinghasbeensetupfirstly.then,relatedessentialtheoryandknowledgesuchastimesystem,coordinateconversation,satelliteorbit,OpenGLandetcalsohasbeenintroduced.Lastly,ourmainworkandresearchresultshasbeenintroduced.Ourmainachievementisthatwerealizedtheprogramofthree-dimensionalvisualizationonsatellitein-orbitingandweimprovetheoriginalprogram.Keywords:satelliteIn-orbitmovement3DvisualizationprogrammingOpenGL一、引言当今社会是一个信息的社会,谁掌握了信息的主动权,就意味着掌握了整个世界。而人造卫星是当今人们准确、实时、全面的获取信息的重要手段,卫星的各项应用已经成为信息社会发展的强大动力。而人造卫星的应用是一项高投入、高风险、长周期的活动,仿真技术由于具有可控制、可重复、经济、安全、高效的特点,在人造卫星应用领域以至整个航天领域都起到了重大的作用。目前国际上较常用的卫星仿真软件主要有美国的Winorbit、美国CybercomSystem公司研制的CPLAN和AGI公司的STK。其中以STK功能最为强大,界面最为友好,在卫星仿真领域占有绝对领先地位。STK功能虽然强大,但其价格昂贵,源码也不公开,无法自主扩展,并且该软件被限制了对中国的销售,所以中国不得不独立开发适于自己的卫星仿真系统[1]。而且国内目前卫星系统的仿真软件很少,主要有一些大学开发的小型的卫星系统仿真软件,还有北京航天慧海系统仿真科技有限公司开发的Vpp-STK航天卫星仿真开发平台V4.0。总体来说,国内目前在这个方面的技术还相当不成熟,因此研究和自主开发卫星仿真系统意义重大。仿真可视化,就是把仿真中的数字信息变为直观的,以图形图像形式表示的,随时间和空间变化的仿真过程呈现在研究人员面前,使研究人员能够知道系统中变量之间、变量与参数之间、变量与外部环境之间的关系,直接获得系统的静态和动态特征[2]。本文首先构建了航天器在轨运行的三维可视化仿真程序的基本框架,然后对涉及到的关键理论与知识,如时间、坐标转换、卫星轨道理论、OpenGL图形开发库等也做了阐述,最后介绍了我们的主要工作和科研成果。二、程序设计综述(一)程序的总体框架我们根据太阳、地球、月球等天体运行的规律、人造卫星轨道理论以及常用的时间和坐标系统的转换关系,以OpenGL仿真技术为手段,在Windows平台上使用VisualC++高级编程语言,实现卫星在轨运行的三维可视化表达的程序。我们设计的程序的主要功能有:1.显示地球、卫星和星空背景等空间对象运动变化过程。2.动态显示卫星轨迹、覆盖范围等本身不可见对象。3.视点变换和多场景的一致显示。4.在有条件的情况下,实现卫星轨道的设计与变更、轨道预报。我们根据程序的主要功能将程序分为4个模块:数据读取和预处理、实体建模和运动建模、视景仿真驱动和三维显示输出。图1程序总体框架图(二)系统设计原则1.通用性和可扩展性[3]。为了保证系统的通用性和便于对系统进行扩展和完善,采用面向对象程序设计方法;采用类和动态链接库(DLL)进行模块化设计。2.满足实时动态的仿真要求[3]。为满足系统实时性,仿真算法、数据通讯等要求达到一定速度。3.结构化、标准化、可扩展的输入输出方式[3]。4.良好的人机交互功能[3]。采用OpenGL技术显示卫星轨道,使画面清晰、直观;允许用户随时查询、修改和保存数据;允许同时打开多个仿真窗口,可以同时对多个方案进行仿真和比较,进行分析,也可以对同一方案的不同运行阶段同时进行仿真和比较。5.数据快速的交互能力[3]。三、基本理论(一)OpenGL仿真技术OpenGL(OpenGraphicsLibrary)是美国高级图形和高性能计算机系统公司(SGI)开发的一套计算机图形处理系统,是图形硬件的软件接口。由于OpenGL的优越性能,目前OpenGL已被认为是高性能图形和交互式视景处理的标准[4]。利用OpenGL实现三维动画的基本步骤如下:1.建模要实现三维动画,首先在三维用户坐标系中建立运动物体的三维模型,对于复杂的三维动画还要建立运动物体周围的三维场景。三维模型通常采用点(Point)、线(Line)和多边形(Polygon)等元素建立。在OpenGL中可以利用函数glBegin()和glEnd()指明一个几何元素的定义开始和结束,用glVertex3*()、glNormal3*()和glColor3*()分别指明顶点、法向量和颜色。2.渲染渲染包括消隐、光照、材质、纹理映射等方面。消隐就是消除被遮挡的不可见的线或面,得到具有真实感的图形。在OpenGL中,消隐是通过深度测试实现的。消除深度缓存用函数glClear()实现,启动深度缓存分别用函数glEnable()实现。为了使模型具有真实感,必须进行光照处理,使模型表现出明暗效果。通常,光源从颜色、位置、方向等方面刻画。光源用函数glLight*()定义,启动光照和光源都可以使用函数glEnable()实现。在光照下,对模型进行明暗处理,模型就表现出明暗效果。在OpenGL中,用单一颜色处理的称为平面明暗处理,用许多不同颜色处理的称为光滑明暗处理。设置明暗处理模式的函数为glShadeModel()。OpenGL用材料对光的红、绿、蓝三原色的反射率来近似定义材料的颜色,定义材质用函数glMaterial*()实现。物体的表面一般表现出一定的纹理,在模型渲染中纹理映射也是比较重要的一方面。3.图形变换图形变换是三维动画实现的关键一步,只有通过图形变换,三维物体模型才能表现出运动效果。实现物体运动,通常要用到平移变换、旋转变换、缩放变换等,这些变换分别用函数glTranslate*()、glRotate*()、glScale*()实现。而且三维动画要在屏幕上显示出来,还需要进行透视投影变换、裁剪变换、视口变换。这些变换分别用函数gluPerspective()、glClipPlane()、glViewport()实现。图形变换通常要用到矩阵堆栈操作。4.交换帧缓存为了提高动画输出效率,OpenGL采用了双缓存技术,用函数SwapBuffers()实现交换帧缓存。(二)时间系统和标志法常用时间系统及转换关系:1.世界时UT格林尼治零子午线处的民用时称为世界时,北京时间减去8小时即得到世界时。世界时系统是以地球自转为基础的,为了弥补极移现象和地球自转速度的不均匀性造成的缺陷,需要在世界时UT中引入极移改正Δλ和地球自转速度的季节性改正ΔTs。由此得到的世界时分别称为UT1和UT2。未经改正的世界时则用UT0表示。三者关系如下:UT1=UT0+Δλ(1)UT2=UT0+ΔTs(2)Δλ、ΔTs的值国际地球自传服务区(IERS)会给出。2.国际原子时TAI以原子能级跃迁辐射频率定义的标准时间单位,取1958年1月1日世界时零时为其起算点。国际原子时(TAI)与UT1有如下关系:(UT1-TAI)1958.0=+0.0039s(3)3.地球力学时TT在天文学中,天体的星历是要根据天体力学中的运动方程计算的,在这些天体运动方程中,时间是一个独立变量,被定义为力学时。地球力学时取原子时的秒为其秒长,故它是一个均匀的时间系统。地球力学时TT和国际原子时TAI有如下关系:TT=TAI+32.184s(4)时间标志法:时间标示法是指表示时间的方法。它有别于时间系统的概念,而是建立在时间系统上的时间表达方式。常用的时间标示法有:历法(即通用时)、儒略日及约化儒略日等[1]。历法符合人们的生产生活习惯,但不适合于科学计算。而儒略日(JD)则是一种采用连续数值标志时间的方法。它是这样定义的:从公元前4713年1月1日12时开始计算的天数。这种标志方法非常适合科学计算,并可以很方便的将不同的时间标志法联系起来。然而用儒略日标志的现今时间数值很大,甚至连计算机都无法精确的表示。为了解决这一问题,1973年国际上提出了约化儒略日(MJD)时间标志法,即从儒略日中减去2400000.5天。(三)坐标系统空间坐标系分为两大类:一类是地球坐标系,该坐标是一种非惯性坐标,是固结在地球上的,随地球一起旋转,又称地固坐标系,如地心大地坐标系、地球固连坐标系;另一类是天球坐标系,该坐标系与地球自转无关,可以建立惯性坐标系,用此坐标系可以方便的描述航天器轨道,如地心天球坐标系。1.天球赤道坐标系天球赤道坐标系的三个坐标是(r,α,δ)。r为地心到空间某点N的距离;α在赤道面内,为春分点向东到N点的矢径在赤道面上投影的角距,通常称为赤经;δ为N点的矢径与赤道面的夹角,向北为正,通常称为赤纬。图2天球赤道坐标系2.地球坐标系地球坐标系是与地球固连在一起,建立在地球或地球参考椭球之上的坐标系。地球空间直角坐标系(这里实际上指瞬时真地球坐标系)的原点位于地心,Z轴和瞬时自转轴重合,指向北,X轴指向经度零点(即格林尼治子午线与赤道的交点),Y轴组成右手坐标系。(四)卫星在轨坐标及其覆盖区域的计算卫星在惯性空间的运动可以用6个经典的轨道要素描述:半长轴a,偏心率e,右升交点赤经Ω,轨道倾角i,近地点幅角ω,真近点角f。通过这6个轨道要素可以计算卫星在惯性空间的位置矢量和速度矢量,如图5。为了在三维场景中绘制卫星的覆盖区域,需要计算卫星覆盖边界点的经纬度坐标。当地球被近似为球体时,卫星覆盖区域是地球三维模型上的一个圆,如图3所示。图中Oe为地心,O为卫星的星下点,过O点的经线与卫星覆盖圆交于P1、P22点,A为覆盖圆上一点。如图3所示,在球面三角形△POA中,有以下关系式:Δλ=λ2-λ1h1=90°-δ1h2=9
本文标题:航天器在轨运行的三维可视化仿真
链接地址:https://www.777doc.com/doc-6992089 .html