论文部分内容阅读
本文以武汉中地公司开发的数字测图系统MapSuv的输出文件<*>.suv作为数据源,研究了基于二维矢量地图的三维可视化方法,并在此基础上,开发了数字测图成果的三维可视化系统.论文的主要研究内容有:1、OpenGL的相关知识.主要是OpenGL的开发环境,OpenGL中的投影、坐标系、光照和纹理等知识.投影是实现三维漫游的关键;坐标系,有全局和局部之分,可以实现实体间的相对运动;光照,有点光源、线光源和面光源,可以增加场景的现实性;纹理,有纹理坐标的计算,纹理贴图方式的参数设置等,基于面片的三维模型大部分采用纹理贴图技术米模拟现实.2、地物的第三维信息的获取.第三维信息,主要是指地物的高度和纹理信息.高度主要是根据地物的属性,如房屋的层数,和地物在现实中的常规值;纹理信息根据地物的属性描述默认赋予特定的纹理,用户也可以用实地拍摄的照片来替换默认的纹理.3、地物的自动识别.suv文件中道路和河流只有边界信息,而且这些边界信息因为野外测量只考虑测量的便利性,将这些边界进行分段测量,赋予了不同的id.需要算法将这些不同id的地物连接,构成一条道路或河流的完整边界信息,实现地物的自动识别.4、园林区的可视化方案设计.suv文件中园林表示的是区信息,即只具有园林的边界信息,不具备园林内植被点的信息,需要算法在区内插值模拟植被点.5、地形与地物的叠加.有两种情况,一是需要根据地物的信息来修改地形,如房屋、草地、道路、水系所在区域,在地形三角剖分时将这些区域形成空洞;二是需要根据地形来获取地物的起始高程,特别是园林区内插值获得的植被点.6、地物的简单建模算法设计.将地物分成五大类:房屋、道路、水系、植被和地形,并分别设计了这五类地物的简单建模算法.7、大范围场景的三维快速显示方案设计.主要采用了场景分块,动态调用;实例技术;应用LOD技术等.其中分块动态调用思想来源于空间分割的思想.8、封装三维模型的读写,纹理图片的读写,avi文件的读写等.这些代码实现来源于网络,主要以面向对象的思想写成为类或封装为动态库等.9、路径漫游.主要应用OpenGL中的glLookAt()函数实现.可以在三维场景中指定道路来作为漫游路径,也可以导入漫游点列文件进行漫游.10、数据输出.一是将窗口内显示的部分场景保存为图像文件;二是将指定的地物保存为3ds/obi/wrl等三维模型文件;三是将整个场景的所有三维信息保存为自定义的dsv文件格式.