著录项信息
专利名称 | 一种三维透视投影场景中保持图形对象等像素面积显示的方法 |
申请号 | CN201510970102.0 | 申请日期 | 2015-12-22 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2016-03-23 | 公开/公告号 | CN105427371A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06T15/20 | IPC分类号 | G;0;6;T;1;5;/;2;0查看分类表>
|
申请人 | 中国电子科技集团公司第二十八研究所 | 申请人地址 | 江苏省南京市白下区苜蓿园东街1号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国电子科技集团公司第二十八研究所 | 当前权利人 | 中国电子科技集团公司第二十八研究所 |
发明人 | 李彭伟;王颖;杨华;鲁莹莹;陈夫强 |
代理机构 | 南京苏高专利商标事务所(普通合伙) | 代理人 | 柏尚春 |
摘要
本发明公开了一种三维透视投影场景中保持图形对象等像素面积显示的方法,该方法在三维图形帧更新事件中,根据三维视口的Fov(FieldOfView)与视截体纵横比等信息,结合图形对象的空间位置(深度信息)与基础比例系数,利用FOV与视口宽高静态不变的特点,动态计算图形对象的实际比例参数,通过投影变换达到在不同观察位置与观察视角时保持图形对象的像素面积不变的效果。本发明通过透视投影保证图形对象的三维立体效果,通过设计合理的数学计算模型进行运算,运算效率高,并且在场景发生变化时图形显示效果平稳,不会出现像素面积跳跃的现象。
1.一种三维透视投影场景中保持图形对象等像素面积显示的方法,其特征在于:包括以下的步骤:
S1:将图形对象的中心经纬度坐标转换为世界坐标V:
V={x,y,z},其中x、y、z分别表示世界坐标中的坐标值,单位为米;
S2:获取视口的视角信息Fov与宽高信息Width与Height:
Fov单位为度,取值范围为[0,45];Width与Height的单位为像素;
S3:根据图形对象的深度信息,利用Fov与Height静态不变的特点,通过等比变换计算出比例系数Scale,计算过程如式(1)所示:
其中,V.z为步骤S1中得到的世界坐标V中的z分量,所述图形对象的深度信息为世界坐标V中的z分量;
S4:根据式(2)计算放缩矩阵Matscale:
S5:根据V计算偏移矩阵Mattrans,并与Matscale相乘,得出最终的矩阵Matworld,实现投影变换,计算过程如式(3)和式(4)所示:
Matworld=Matscale*Mattrans (4)
其中,V.x为步骤S1中得到的世界坐标V中的x分量,V.y为步骤S1中得到的世界坐标V中的y分量。
一种三维透视投影场景中保持图形对象等像素面积显示的\n方法\n技术领域\n[0001] 本发明涉及三维态势显示技术领域,特别是涉及一种三维透视投影场景中保持图形对象等像素面积显示的方法。\n背景技术\n[0002] 在各种仿真与应用信息系统中,通过实时访问遥感/侦察影像、数字高程模型、矢量地形图等地理空间数据,在空间范围进行剪裁,融合成所属区域的栅格图像数据,构建具备真实感的三维场景;通过雷达、电子侦察等传感器的探测、处理,将空中飞行的飞机,海面上航行的舰船,陆地上运动的车辆等动目标,在三维场景中进行显示,同时在三维场景中还需表达一些图标、文字、矢量图形、模型等信息,如在三维场景中静态显示机场图标、建筑标记、热点注记等,在实际的使用过程中,往往会要求这些三维图形在透视投影模式下保持等像素面积变化,不随观察位置和观察视角的变化而变化。\n[0003] 传统的方式是使用正交投影,但使用正交投影方式会导致物体没有深度信息,缺乏三维立体感,如图3所示。除了上述的使用正交投影方法外,还可使用动态更换纹理或重新构建图形的方法,但上述方法在显示效率上存在较大开销,并且过渡效果不平稳,容易出现跳变现象。\n发明内容\n[0004] 发明目的:本发明的目的是提供一种能够保证图形对象的三维立体效果,运算效率高,不会出现像素面积跳跃现象的三维透视投影场景中保持图形对象等像素面积显示的方法。\n[0005] 本发明所述的三维透视投影场景中保持图形对象等像素面积显示的方法,包括以下的步骤:\n[0006] S1:获取图形对象的位置与姿态,包括经纬度、高度、航向角、俯仰角、横滚角等,并将其转换为笛卡尔坐标系下的世界坐标V:\n[0007] V={x,y,z},其中x、y、z分别表示世界坐标中的坐标值,单位为米;\n[0008] S2:获取视口的视角信息Fov与宽高信息Width与Height:\n[0009] Fov单位为度,取值范围为[0,45];Width与Height的单位为像素;\n[0010] S3:根据图形对象的深度信息(即世界坐标V中的z分量),利用Fov与Height静态不变的特点,通过等比变换计算出比例系数Scale,计算过程如式(1)所示:\n[0011]\n[0012] 其中,V.z为步骤S1中得到的世界坐标V中的z分量(该分量表达了深度信息);\n[0013] S4:根据式(2)计算放缩矩阵Matscale:\n[0014]\n[0015] S5:根据V计算偏移矩阵Mattrans,并与Matscale相乘,得出最终的矩阵Matworld,实现投影变换,计算过程如式(3)和式(4)所示:\n[0016]\n[0017] Matworld=Matscale*Mattrans (4)\n[0018] 其中,V.x为步骤S1中得到的世界坐标V中的x分量,V.y为步骤S1中得到的世界坐标V中的y分量。\n[0019] 有益效果:与现有技术相比,本发明具有如下的有益效果:\n[0020] 1)通过透视投影保证图形对象的三维立体效果;\n[0021] 2)通过设计合理的数学计算模型进行运算,运算效率高;\n[0022] 3)在场景发生变化时图形显示效果平稳,不会出现像素面积跳跃的现象。\n附图说明\n[0023] 图1为本发明的方法流程图;\n[0024] 图2是本发明的透视投影的可视区域(平截头体)示意图;\n[0025] 图3是传统的正交投影的效果图;\n[0026] 图4是本发明的比例变换示意图。\n具体实施方式\n[0027] 下面结合具体实施方式对本发明的技术方案作进一步的介绍。\n[0028] 图3是传统的正交投影的效果图。本发明采用透视投影方法,使显示的三维图形保持物体在视截体内的任何位置均不发生大小变化,获得最佳3D显示效果。在透视投影方法中,远处的物体看上去比近处的物体更小一些。它的可视区域看上去类似一个顶部被削平的金字塔,如图2所示,这个形状被称为平截头体(Frustum)。靠进可视区域前面的物体看上去比较接近它们的原始大小。但是,当靠近可视区域后部的物体被投影到可视区域的前部时,它们看上去就显得比较小。在模拟和3D动画中,这种投影能够获得最大程度的逼真感,并需要通过软件方法进行特殊处理。\n[0029] 本发明的方法,如图1所示,包括以下的步骤:\n[0030] S1:获取图形对象的位置与姿态,包括经纬度、高度、航向角、俯仰角、横滚角等,并将其转换为笛卡尔坐标系下的世界坐标V:\n[0031] V={x,y,z},其中x、y、z分别表示世界坐标中的坐标值,单位为米;\n[0032] S2:获取视口的视角信息Fov与宽高信息Width与Height,如图4所示:\n[0033] Fov单位为度,取值范围为[0,45];Width与Height的单位为像素;一般地,三维场景中的Fov、Width、Height等值具有恒定的比值关系,基于该特征,如要保持场景中的图形对象大小或像素面积不变,则利用图形对象的深度信息(即图形高度)与Width的比例关系(K为恒值)动态计算比例值,进而通过该比例对图形对象缩放;\n[0034] S3:根据图形对象的深度信息(即世界坐标V中的z分量),利用Fov与Height静态不变的特点,通过等比变换计算出比例系数Scale,计算过程如式(1)所示:\n[0035]\n[0036] 其中,V.z为步骤S1中得到的世界坐标V中的z分量;\n[0037] S4:根据式(2)计算放缩矩阵Matscale,该矩阵的变换过程使得图形对象保持相同的大小。\n[0038]\n[0039] S5:根据V计算偏移矩阵Mattrans(该矩阵描述了位置信息),并与Matscale相乘,得出最终的矩阵Matworld,基于Matworld实现投影变换并最终绘制图形。计算过程如式(3)和式(4)所示:\n[0040]\n[0041] Matworld=Matscale*Mattrans (4)\n[0042] 其中,V.x为步骤S1中得到的世界坐标V中的x分量,V.y为步骤S1中得到的世界坐标V中的y分量。
法律信息
- 2017-12-08
- 2016-04-20
实质审查的生效
IPC(主分类): G06T 15/00
专利申请号: 201510970102.0
申请日: 2015.12.22
- 2016-03-23
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-05-23
|
2010-10-29
| | |
2
| |
2014-05-28
|
2013-11-29
| | |
3
| |
2010-07-28
|
2010-01-22
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |