一种三维透视投影场景中保持图形对象等像素面积显示的方法

文档序号:9668229阅读:292来源:国知局
一种三维透视投影场景中保持图形对象等像素面积显示的方法
【技术领域】
[0001] 本发明涉及三维态势显示技术领域,特别是涉及一种三维透视投影场景中保持图 形对象等像素面积显示的方法。
【背景技术】
[0002] 在各种仿真与应用信息系统中,通过实时访问遥感/侦察影像、数字高程模型、矢 量地形图等地理空间数据,在空间范围进行剪裁,融合成所属区域的栅格图像数据,构建具 备真实感的三维场景;通过雷达、电子侦察等传感器的探测、处理,将空中飞行的飞机,海面 上航行的舰船,陆地上运动的车辆等动目标,在三维场景中进行显示,同时在三维场景中 还需表达一些图标、文字、矢量图形、模型等信息,如在三维场景中静态显示机场图标、建筑 标记、热点注记等,在实际的使用过程中,往往会要求这些三维图形在透视投影模式下保持 等像素面积变化,不随观察位置和观察视角的变化而变化。
[0003] 传统的方式是使用正交投影,但使用正交投影方式会导致物体没有深度信息,缺 乏三维立体感,如图3所示。除了上述的使用正交投影方法外,还可使用动态更换纹理或重 新构建图形的方法,但上述方法在显示效率上存在较大开销,并且过渡效果不平稳,容易出 现跳变现象。

【发明内容】

[0004] 发明目的:本发明的目的是提供一种能够保证图形对象的三维立体效果,运算效 率高,不会出现像素面积跳跃现象的三维透视投影场景中保持图形对象等像素面积显示的 方法。
[0005] 本发明所述的三维透视投影场景中保持图形对象等像素面积显示的方法,包括以 下的步骤:
[0006]S1 :获取图形对象的位置与姿态,包括经炜度、高度、航向角、俯仰角、横滚角等,并 将其转换为笛卡尔坐标系下的世界坐标V:
[0007]V= {x,y,z},其中X、y、z分别表示世界坐标中的坐标值,单位为米;
[0008]S2:获取视口的视角信息Fov与宽高信息Width与Height:
[0009]Fov单位为度,取值范围为[0, 45] ;Width与Height的单位为像素;
[0010]S3:根据图形对象的深度信息(即世界坐标V中的z分量),利用Fov与Height静 态不变的特点,通过等比变换计算出比例系数Scale,计算过程如式(1)所示:
[0011]
(1)
[0012] 其中,V.z为步骤S1中得到的世界坐标V中的z分量(该分量表达了深度信息);_3]S4:根据式⑵计算放缩矩阵Matscale:
[0014](2) _5]S5:根据V计算偏移矩阵Mattrans,并与Matsrale相乘,得出最终的矩阵MatWOTld,实现 投影变换,计算过程如式(3)和式(4)所示:
[0016]
(3:)
[0017]Matworld=Matscale*Mattrans (4)
[0018] 其中,V.x为步骤S1中得到的世界坐标V中的x分量,V.y为步骤S1中得到的世 界坐标V中的y分量。
[0019] 有益效果:与现有技术相比,本发明具有如下的有益效果:
[0020] 1)通过透视投影保证图形对象的三维立体效果;
[0021] 2)通过设计合理的数学计算模型进行运算,运算效率高;
[0022] 3)在场景发生变化时图形显示效果平稳,不会出现像素面积跳跃的现象。
【附图说明】
[0023] 图1为本发明的方法流程图;
[0024] 图2是本发明的透视投影的可视区域(平截头体)示意图;
[0025] 图3是传统的正交投影的效果图;
[0026] 图4是本发明的比例变换示意图。
【具体实施方式】
[0027] 下面结合【具体实施方式】对本发明的技术方案作进一步的介绍。
[0028] 图3是传统的正交投影的效果图。本发明采用透视投影方法,使显示的三维图形 保持物体在视截体内的任何位置均不发生大小变化,获得最佳3D显示效果。在透视投影方 法中,远处的物体看上去比近处的物体更小一些。它的可视区域看上去类似一个顶部被削 平的金字塔,如图2所示,这个形状被称为平截头体(Frustum)。靠进可视区域前面的物体 看上去比较接近它们的原始大小。但是,当靠近可视区域后部的物体被投影到可视区域的 前部时,它们看上去就显得比较小。在模拟和3D动画中,这种投影能够获得最大程度的逼 真感,并需要通过软件方法进行特殊处理。
[0029] 本发明的方法,如图1所示,包括以下的步骤:
[0030]S1 :获取图形对象的位置与姿态,包括经炜度、高度、航向角、俯仰角、横滚角等,并 将其转换为笛卡尔坐标系下的世界坐标V:
[0031]V= {x,y,z},其中X、y、z分别表示世界坐标中的坐标值,单位为米;
[0032]S2:获取视口的视角信息Fov与宽高信息Width与Height,如图4所示:
[0033]Fov单位为度,取值范围为[0,45] ;Width与Height的单位为像素;一般地,三维 场景中的Fov、Width、Height等值具有恒定的比值关系,基于该特征,如要保持场景中的图 形对象大小或像素面积不变,则利用图形对象的深度信息(即图形高度)与Width的比例 关系^^^ = 1 (κ为恒值)动态计算比例值,进而通过该比例对图形对象缩放;
[0034] S3 :根据图形对象的深度信息(即世界坐标V中的z分量),利用Fov与Height静 态不变的特点,通过等比变换计算出比例系数Scale,计算过程如式(1)所示:
[0035]
(1):
[0036] 其中,V.z为步骤S1中得到的世界坐标V中的z分量;
[0037] S4 :根据式⑵计算放缩矩阵Matseale,该矩阵的变换过程使得图形对象保持相同 的大小。
[0038]
[0039] S5 :根据V计算偏移矩阵Mattrans (该矩阵描述了位置信息),并与Matseale相乘,得 出最终的矩阵Matw"ld,基于Matw"ld实现投影变换并最终绘制图形。计算过程如式(3)和式 (4)所示:
[0040]
[0041] Matw〇rld=Matscale*Mattrans (4)
[0042] 其中,V.x为步骤S1中得到的世界坐标V中的x分量,V.y为步骤S1中得到的世 界坐标V中的y分量。
【主权项】
1. 一种三维透视投影场景中保持图形对象等像素面积显示的方法,其特征在于:包括 以下的步骤: 51 :将图形对象的中心经炜度坐标转换为世界坐标V : V = {x,y,z},其中X、y、z分别表示世界坐标中的坐标值,单位为米; 52 :获取视口的视角信息Fov与宽高信息Width与Height : Fov单位为度,取值范围为[0, 45] ;Width与Height的单位为像素; 53 :根据图形对象的深度信息(即世界坐标V中的z分量),利用Fov与Height静态 不变的特点,通过等比变换计算出比例系数Scale,计算过程如式(1)所示:其中,V. z为步骤Sl中得到的世界坐标V中的z分量; 54 :根据式⑵计算放缩矩阵Matscale:55 :根据V计算偏移矩阵Mattrans,并与Matseale相乘,得出最终的矩阵Mat WOTld,实现投影 变换,计算过程如式(3)和式(4)所示:其中,V. X为步骤Sl中得到的世界坐标V中的X分量,V. y为步骤Sl中得到的世界坐 标V中的y分量。
【专利摘要】本发明公开了一种三维透视投影场景中保持图形对象等像素面积显示的方法,该方法在三维图形帧更新事件中,根据三维视口的Fov(Field?Of?View)与视截体纵横比等信息,结合图形对象的空间位置(深度信息)与基础比例系数,利用FOV与视口宽高静态不变的特点,动态计算图形对象的实际比例参数,通过投影变换达到在不同观察位置与观察视角时保持图形对象的像素面积不变的效果。本发明通过透视投影保证图形对象的三维立体效果,通过设计合理的数学计算模型进行运算,运算效率高,并且在场景发生变化时图形显示效果平稳,不会出现像素面积跳跃的现象。
【IPC分类】G06T15/00
【公开号】CN105427371
【申请号】CN201510970102
【发明人】李彭伟, 王颖, 杨华, 鲁莹莹, 陈夫强
【申请人】中国电子科技集团公司第二十八研究所
【公开日】2016年3月23日
【申请日】2015年12月22日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1