笔记本计算机与GPS构成实时立体导航系统的研究
关键词:实时 立体 导航 GPS 3S
1 引言
对于实时导航而言,往往不能将所有的地图全部调入内存而必须很好的管理图库[1],而在导航精度方面GPS的精度与导航图的精度都同等重要[2]。但无论何种导航,使用者往往要通过图上表示的地物和现地地物来识别位置,本文所建立的立体导航图正是为提高导航图的易识别性来提高导航的效果。
本文所建立的实时立体导航系统可以很方便地用做车载GPS,其成本较低。由于GPS和笔记本计算机的更新速度都很快,本系统能同时获得两方面的科技进步的支持,有更多的可选择性。
2 立体导航图的研制
立体导航图是根据等高线及地图来进行创建的,将等高线表达的地形作为场景几何并假设了太阳光照模型的条件下,应用扫描算法或光线跟踪算法编程创建立体地形图[3],再将立体地形图与地图合成立体地图并赋予相应坐标系即是立体导航图。
立体导航图是光栅图像,笔记本用的光栅图像显示器的屏幕由一系列显示单元组成,每一个显示单元为一个象素,生成立体图时,必须逐个像素地计算画面上相应景物表面区域的明暗度,为此不但要考虑光源对该区域入射光亮度和光谱组成,而且还要考虑该表面区域对光源的朝向,表面的反射性质,所以,建立立体导航图必须基于一定的光学物理模型。
2.1 场景坐标系
景物立体图像的建立是在三维直角坐标系统中进行的,首先必须确定XY平面。地球表面是曲面,必须将曲面投影成为平面,并将此平面定义为立体地形图的XY平面,将高程方向定义为场景坐标系的Z轴方向。本文所建立的立体导航图的立体造型是在Gauss-Kruger投影下的坐标系中进行的,Gauss-Kruger投影是等角圆柱投影,沿赤道每6°分带。本文的场景选在黑龙江省尚志县境内的帽儿山地区,该地区在投影分带中处于22带,所以,XY平面是以赤道为x轴,129度经线为Y轴的直角坐标系。在这一坐标系下对地形的表示和运动描述比较方便。需要注意的是,Gauss-Kruger投影中的x方向应设为场景坐标系的Y方向,而Y方向应设为X方向。由于等高线在矢量化时就已经是Gauss-Kruger投影,而且“UP”方向是N方向(即Y方向),所以只需将地形图正向扫描并按图上的坐标设置控制点,将等高线矢量化即可得到正确的场景坐标系。
矢量的等高线在场景描述中不方便于直接操作使用,将研究区域按一定的栅格大小栅格化是场景描述的第二步工作,在栅格化过程中,没有高程值的栅格通过内插处理将它们赋予高程值。而且栅格DEM的算法已有现成的程序可用。
通常每一个DEM的栅格数据使用无符号双字节表示,但有时为节省内存空间而使用单字节,使用单字节会损失一部分地形信息。
在Visual C++编程时,将场景坐标系中的DEM数据读入一个双字节的数组中使用如下的命令:
其中ar是Carchive类的引用,m和n是DEM模型中的行数和列数,通过上述操作,即可存放全部DEM数据并进行变换。
2.2 立体导航图的视点坐标系
视点坐标系是指以观察者的视线为Z轴,以“UP’方向为Y方向,X轴方向由Y×Z所确定的方向的坐标系。
为了建立立体导航图就必须将场景坐标系变换为视点坐标系,其变换方程如下:
显然变换由两部分组成,即平移和旋转。(1)式中前一矩阵为平移,后一矩阵为旋转。
一般而言有了视点坐标系,还需将视点坐标系转换至屏幕坐标系,并进行视窗剪切,这样产生的立体图像是实时产生的,随着用户位置和方向的移动可以产生相应的移动的实时动画。但这样导航图的实时计算时间会较长,对实时导航不利。所以,本文采用了将视点位置设于很远的位置,这样可以认为场景的全部区域均在视窗之内,在图像生产时不需进行视窗剪切(见图1)。
创建了立体地形图还必须与地图叠加才能成为立体导航图。立体地形图从本质上讲仍是平面图像,立体是在阴影的衬托下表现出来的,其平面特性即是缺点也是优点。其优点是它能很方便地与任何坐标一致的矢量和栅格图配准。将立体的地形图与等高线配准更能体现立体的视觉特性,并能适时的查询任何位置的高程值,配准的结果见图2。
立体地形图与等高线配准后显然增加了立体效果,但也增加了图上信息的饱和度。在此基础上叠加地图,其效果见图3。
从图3可见,三图配准只能在特殊情
模拟电路 模拟芯片 德州仪器 放大器 ADI 模拟电子 相关文章:
- 12位串行A/D转换器MAX187的应用(10-06)
- AGC中频放大器设计(下)(10-07)
- 低功耗、3V工作电压、精度0.05% 的A/D变换器(10-09)
- PIC16C5X单片机睡眠状态的键唤醒方法(11-16)
- 用简化方法对高可用性系统中的电源进行数字化管理(10-02)
- 利用GM6801实现智能快速充电器设计(11-20)