一种基于osg三维引擎的空间相机三维成像仿真方法

文档序号:9217895阅读:952来源:国知局
一种基于osg三维引擎的空间相机三维成像仿真方法
【技术领域】:
[0001] 本发明涉及一种空间相机三维成像仿真方法,特别是一种基于0SG三维引擎的空 间相机三维成像仿真方法,属于三维可视化技术领域。
【背景技术】
[0002] 利用OpenSceneGraph(OSG)三维引擎的仿真技术根据实时或仿真数据生成的动 态场景图像具有无比的直观性和生动性,己经成为航天任务中数据分析与演示的重要手 段。随着硬件技术的不断发展,可视化技术也从单纯的数据表现手段向更生动的表现形式、 更丰富的表现内容和更逼真的表现效果发展。为了使成像更贴近物理相机的效果,开展基 于OpenSceneGraph(OSG)三维引擎的空间相机三维成像仿真方法的研宄具有十分重要的 意义。
[0003] 目前,在航空大场景的环境下,OpenSceneGraph(OSG)三维引擎下三维虚拟相机成 像技术中普遍采用固定相机视场参数、固定相机位置、固定窗口显示区域的技术方法。这就 会导致虚拟相机和物理相机视场显示内容同步性差的问题。航天器在高轨/深空运行状态 下虚拟相机视口三维场景深度值受限于硬件图形适配器存储精度,因此虚拟成像视口场景 有抖动现象。
[0004] 现有的方法采用拉大视点距离近剪切平面的位置来提高需要观察的精细物体的 存储精度,这种方法的缺点是当视角姿态发生微小变化的时候,由于视场长度比较长,场景 内的物体会出现显示不完整或者深空背景突然消失的情况,虽然保证了微小物体的显示精 度,但是会丢失场景中深度较高的模型细节。

【发明内容】

[0005] 本发明解决的技术问题是:克服现有技术的不足,本发明提出一种基于 OpenSceneGraph(0SG)三维引擎的空间相机成像仿真方法,首先在三维场景中通过指定一 个虚拟相机视点位置、视角中心、相机角度、视口角度、近切面、远切面定义一个虚拟相机; 然后实时计算虚拟相机在空间的位置和姿态,变换虚拟相机的视口,渲染输出相机的显示 内容;最后针对大场景下精细物体的显示,使用渲染到纹理(RTT)技术,关联两个虚拟相机 的相应剪切平面,从而消除场景抖动。与传统三维空间相机的成像显示方法相比,本发明中 的方法明显提高了空间相机定制参数的灵活性,解决了空间虚拟相机和实际空间物理相机 视口内容显示同步和虚拟成像视口场景抖动的问题,显示效果接近物理相机的真实效果, 且视口场景内容稳定精确。
[0006] 本发明所采用的技术方案是:一种基于0SG三维引擎的空间相机成像仿真方法, 步骤如下:
[0007] (1)根据空间相机参数在三维场景中定义两个三维虚拟相机,所述相机参数包括 相机视点位置、视角中心、相机角度、视口角度、中间深度平面和最远深度平面;所述两个三 维虚拟相机分别为第一虚拟相机和第二虚拟相机,第一虚拟相机和第二虚拟相机的相机视 点位置、视角中心、相机角度和视口角度均与空间相机的相机视点位置、视角中心、相机角 度和视口角度相同,第一虚拟相机的近剪切平面和远剪切平面分别与空间相机的中间深度 平面和最远深度平面相同,第二虚拟相机的远剪切平面为空间相机的中间深度平面相同, 被观测物体位于第二虚拟相机的近剪切平面和远剪切平面之间;
[0008] (2)获取空间相机本体坐标系到J2000坐标系的变换矩阵,进一步获得空间相机 在J2000坐标系下的位置和姿态;
[0009] (3)利用步骤⑴中第一虚拟相机进行成像,获取第一虚拟相机远剪切平面的视 口内容;
[0010] (4)在OSG中将步骤(3)中获取的第一虚拟相机远剪切平面视口内容渲染到第一 虚拟相机的近剪切平面,即第二虚拟相机的远剪切平面上;
[0011] (5)将步骤⑷中渲染后的结果输出,即完成空间相机的成像仿真。
[0012] 所述步骤(1)中第一虚拟相机的近剪切平面与空间相机视点位置的距离为被观 测对象最小部件尺寸的200~500倍。
[0013] 所述步骤(1)中第一虚拟相机的远剪切平面与空间相机视点位置的距离为第一 虚拟相机的近剪切平面与空间相机视点位置的距离的5~10倍。
[0014] 所述步骤(4)中在OSG中将步骤(3)中获取的第一虚拟相机远剪切平面视口内容 渲染到第一虚拟相机的近剪切平面,采用的渲染方法为RTT。
[0015] 本发明与现有技术相比的有益效果为:
[0016] (1)本发明中提出的三维成像仿真技术,定义了两个虚拟相机,虚拟相机的参数和 物理相机的参数--对应,比传统的方法视口内容更符合实际物理相机场景的视口内容, 通过本发明中所述的关联两个虚拟相机的剪切平面可以实现在大深度的场景下稳定的显 示微小的物体,避免了抖动的现象;
[0017] (2)本发明通过将空间相机的位置转换到J2000坐标系中,实时解算出空间相机 的实际位置和姿态,进而来实时更新两个虚拟相机的位置,从而保证了虚拟相机视场的内 容和空间相机视场显示的内容同步;
[0018] (3)本发明提出的三维成像仿真技术可应用于航天相机仿真的独立或集成仿真演 示系统中,实际成像结果具有参考意义,具备一定的市场竞争力。
[0019] (4)本发明提出的三维成像仿真技术在微型计算机中有完整的功能实现,对应视 场参数,位置变换矩阵都有完整的实现接口,在运行过程中改变相机参数,虚拟相机提供 颜色、外观和可视化参数控制,可以快速接入航天器姿态控数据进行在轨成像演示,本发明 提供二维投影窗口控制参数,可以根据相机仿真演示任务要求进行多窗口位置、大小定制 显不;
【附图说明】:
[0020] 图1为本发明方法流程图;
[0021] 图2为构建的虚拟相机参数说明;
[0022] 图3为虚拟相机位置和姿态更新流程图;
[0023] 图4为将视点设置在较远位置时的视锥图;
[0024] 图5为设定的两个虚拟相机的相互关联说明图;
[0025] 图6为经过本发明处理后的相机视口内容图。
【具体实施方式】:
[0026] 本发明提供了一种基于OSG三维引擎的空间相机三维成像仿真方法,下面结合附 图对本发明作进一步说明。
[0027] -、虚拟相机视场参数化及构建虚拟相机
[0028] 利用物理相机视场(方锥形)和三维虚拟相机结构的相似性原理构造虚拟相机, 构造的虚拟相机参数如图2所示。图2中物理相机的相关参数:水平视场角a,垂直视场 角0,相机视点位置〇,相机视场长度1。根据这种相似性原理创建第一个虚拟相机,为便 于锥体空间位置计算,把虚拟相机视点顶点设置为〇'(〇, 〇, 〇),虚拟相机的方向设置为沿x 轴,近剪切平面距离为被观测对象部件中最小尺寸的200~500倍,远剪切平面与空间相机 视点位置的距离为第一虚拟相机的近剪切平面与空间相机视点位置的距离的5~10倍,水 平视场角a' =a,垂直视场角= 0。根据这种相似性原理创建第二个虚拟相机,把 虚拟相机视点顶点设置为〇'(〇,〇,〇),虚拟相机的方向设置为沿x轴,远剪切平面到视点的 距离为第一个虚拟相机近剪切平面到视点的距离,水平视场角a' =a,垂直视场角= 0〇
[0029] 二、虚拟相机在轨运行状态下的空间位置和姿态的更新 [0030](1)位置和姿态的坐标变换矩阵是一个4阶方阵:
[0032] 式中
是T阵中的旋转矩阵。
[0033]
是T阵中的位置表示。
[0034] 获取航天器模型到J2000坐标矩阵的每个变换矩阵…… ◎ ,,,\T,\T,……",中获取旋转矩阵#,#,#,……获取物理 相机到航天器模型坐标系下的每个变换矩阵

'中获取旋转矩阵
[0035]设置虚拟相机旋转姿态为:
[0037] 其中,:物理相机到J2000姿态变换矩阵;
[0038] n:航天器运动矩阵到J2000坐标系的坐标变换个数;
[0039] m:物理相机到航天器的坐标变换个数。
[0040] 获取变化矩阵:
[0042] 其中,"+,!r:物理相机到J2000位姿变换矩阵;
[0043] n :航天器运动矩阵到J2000坐标系的坐标变换个数;
[0044] m:物理相机到航天器的坐标变换个数。
[0045] 由"+,!r中的第四列的前三行可得虚拟相机相对
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1