当前位置: 首页 > 专利查询>浙江大学专利>正文

一种利用Flash实现网络三维地图实景模拟的方法技术

技术编号:8324148 阅读:504 留言:0更新日期:2013-02-14 04:02
本发明专利技术公开了一种利用Flash实现网络三维地图实景模拟的方法。它包括以下步骤:1)使用Flash三维引擎构建三维地图;2)下载三维模型并将其和相关的属性信息存储在服务端;3)Flash客户端发请求获取服务器端的三维模型文件,然后解析三维模型文件通过三维引擎渲染显示;4)根据三维地图的当前分辨率调整三维模型的大小、旋转角度和位置,显示最终的三维景物。本发明专利技术采用的三维模型文件格式是Collada(.dae)格式文件,也是当前比较流行的三维模型的文件格式,众所周知的Google地球就是采用的这种格式的三维模型。本发明专利技术在网络三维可视化技术和虚拟现实技术的领域有较大的应用前景。

【技术实现步骤摘要】

本专利技术涉及网络三维可视化和地理信息领域,尤其涉及在三维地图上对景物模拟方法,对其相关的数字地球和虚拟现实技术也有一定的研究价值。在技术应用方面,对Flash技术在地理信息的应用具有一定的参考价值。
技术介绍
目前,网络三维可视化主要是通过安装浏览器插件来实现的,许多公司都有自己的互联网三维可视化技术,这些技术分别使用专用的文件格式和浏览器插件,种类大约有三十几种之多,主流的技术如Java3D、Cult3D和ViewPoint等各有各的特色,在渲染速度,图像质量,造型技术,交互性以及数据的压缩与优化上都比此前的网络三维可视化技术有 了长足的进步,但由于其基于的技术的局限性还存在一些制约发展的问题,这些问题主要有应用时的其他界面技术采用传统HTML或AJAX技术来实现,这两种技术都存在着交互性差、界面效果实现困难的问题;用户需要安装额外的浏览器插件,而且这些插件的市场占有率很低,市场推广不易;有的还存在着不能实现跨平台、跨浏览器的问题等。本专利技术利用Flash来实现网络三维可视化,主要利用了 Flash客户端的优势,主要有以下的几个方面具有跨多种平台、多种浏览器的优点;小巧的Flash Player插件以及该插件98%以上的市场占有率;拥有丰富功能组件及优秀的界面效果;开源的Flex技术应用及众多的开源社区支持;功能强大以及支持多种标准的数据通信支持。
技术实现思路
本专利技术的目的是克服现有技术的不足,提供。利用Flash实现网络三维地图实景模拟的方法包括以下步骤 O使用Flash三维引擎构建三维地 2)下载三维模型并将其和其信息存储在服务端; 3)利用Flash客户端获取三维模型文件,通过三维引擎渲染显示; 4)根据三维地图的当前分辨率调整三维模型的大小、旋转角度和位置,显示最终的三维景物。步骤I)所述的使用Flash三维引擎构建三维地图的步骤 (1)通过对二维地图在墨卡托投影下的平面网格切分,根据该投影的金字塔分层模型得到每个网格四个角点的地图坐标,根据二维网格的四个角点的坐标计算出在三维球体上的位置,使用Flash三维引擎将二维的网格三维化,最后得到地图的三维模型; (2)服务器提供地图切片的服务,客户端通过请求服务器地图切片,将地图切片映射到三维地球模型上,实现三维地图的显示。所述的根据二维网格的四个角点的坐标计算出在三维球体上的位置的步骤根据网格的上下左右四个边界的经纬度坐标,我们可以计算出网格在三维球体上横向的弧度范围和纵向的弧度范围,以及网格左上角的点在三维地球的位置,计算公式如下 xRadian = ((left+180)/360)*2 η yRadian = ((90-top)/180)* π hRadian = ((right-left)/360)*2 π vRadian = ((top-bottom)/180)* n 其中top, bottom, left, right分别为网格上,下,左,右四个角点的坐标,hRadian和vRadian分别是网格在三维球体上横向和纵向的弧度范围,xRadian和yRadian是网格左上角的点在三维地球的位置,用弧度来表示。步骤2)所述下载三维模型并将其和其信息存储在服务端的步骤 (1)从Google地图的模型库中下载景物的三维模型,下载格式为压缩文件ZIP,将其解压后有两部分的数据三维模型数据和其属性信息,属性信息包括景物名称、地图上的位置 和旋转角度; (2)将三维模型以文件的形式保存在服务器目录上,在数据库中新建一个三维模型的信息表,将其对应的URL地址和属性信息保存为表中的一条记录。步骤3)所述Flash客户端发请求获取服务器端的三维模型文件,然后解析三维模型文件通过三维引擎渲染显示的步骤 (1)查询数据库中的三维模型文件,按照需要通过使用Flash的Http通信方式根据三维模型的URL地址加载三维景物模型; (2)通过Flash三维引擎解析三维模型文件,在Flash三维场景中渲染显示。步骤4)所述根据三维地图的当前分辨率调整三维模型的大小、旋转角度和位置,显示最终的三维景物的步骤一方面,根据当前地图的缩放程度,决定是否要显示三维景物模型,如果显示由当前的分辨率缩放三维景物模型;另一方面,通过从服务器获取的三维景物模型的信息,由地图坐标计算出三维景物模型在三维地图上的位置,最后调整模型的旋转角度达到最终的显示。附图说明图I是本专利技术的二维网格构建三维球面网格的示意 图2是本专利技术的三维地图显示示意 图3是本专利技术的三维景物模型的显示示意 图4是本专利技术的将三维景物模型加载到三维地图上的示意具体实施例方式空间矢量数据的快速转换方法包括以下步骤 O使用Flash三维引擎构建三维地 2)下载三维模型并将其和其信息存储在服务端; 3)利用Flash客户端获取三维模型文件,通过三维引擎渲染显示; 4)根据三维地图的当前分辨率调整三维模型的大小、旋转角度和位置,显示最终的三维景物。步骤I)所述的使用Flash三维引擎构建三维地图的步骤(1)通过对二维地图在墨卡托投影下的平面网格切分,计算出每个网格四个角点的地图坐标,根据这四个角点的坐标计算出在三维球体上的位置,使用Flash三维引擎将二维的网格三维化,最后构建出整个三维地球的模型; (2)通过请求服务器地图切片,将地图切片映射到三维地球模型上,实现三维地图的显/Jn ο所述的根据二维网格的四个角点的坐标计算出在三维球体上的位置的步骤根据网格的上下左右四个边界的经纬度坐标,我们可以计算出网格在三维球体上横向的弧度范围和纵向的弧度范围,以及网格左上角 的点在三维地球的位置,计算公式如下xRadian = ((left+180)/360)*2 ηyRadian = ((90-top)/180)* πhRadian = ((right-left)/360)*2 πvRadian = ((top-bottom)/180)* n 其中top, bottom, left, right分别为网格上,下,左,右四个角点的坐标,hRadian和vRadian分别是网格在三维球体上横向和纵向的弧度范围,xRadian和yRadian是网格左上角的点在三维地球的位置,用弧度来表示。步骤2)所述下载三维模型并将其和其信息存储在服务端的步骤 (1)从Google地图的模型库中下载景物的三维模型,下载格式为压缩文件ZIP,将其解压后有两部分的数据三维模型数据和其属性信息(名称、地图上的位置等); (2)将三维模型以文件的形式保存在服务器目录上,在数据库中新建一个三维模型的信息表,将其对应的URL地址和属性信息保存为表中的一条记录。步骤3)所述Flash客户端发请求获取服务器端的三维模型文件,然后解析三维模型文件通过三维引擎渲染显示的步骤 (1)查询数据库中的三维模型文件,按照需要通过使用Flash的Http通信方式根据三维模型的URL地址加载三维景物模型; (2)通过Flash三维引擎解析三维模型文件,在Flash三维场景中渲染显示; 步骤4)所述根据三维地图的当前分辨率调整三维模型的大小、旋转角度和位置,显示最终的三维景物的步骤一方面,根据当前地图的缩放程度,觉得是否要本文档来自技高网...

【技术保护点】
一种利用Flash实现网络三维地图实景模拟的方法,其特征在于包括以下步骤:1)使用Flash三维引擎构建三维地图;2)下载三维模型并将其和其信息存储在服务端;3)利用Flash客户端获取三维模型文件,通过三维引擎渲染显示;4)根据三维地图的当前分辨率调整三维模型的大小、旋转角度和位置,显示最终的三维景物。

【技术特征摘要】
1.一种利用Flash实现网络三维地图实景模拟的方法,其特征在于包括以下步骤 O使用Flash三维引擎构建三维地图; 2)下载三维模型并将其和其信息存储在服务端; 3)利用Flash客户端获取三维模型文件,通过三维引擎渲染显示; 4)根据三维地图的当前分辨率调整三维模型的大小、旋转角度和位置,显示最终的三维景物。2.根据权利要求I所述的一种利用Flash实现网络三维地图实景模拟的方法,其特征在于,步骤I)所述使用Flash三维引擎构建三维地图的步骤 (1)通过对二维地图在墨卡托投影下的平面网格切分,根据该投影的金字塔分层模型得到每个网格四个角点的地图坐标,根据二维网格的四个角点的坐标计算出在三维球体上的位置,使用Flash三维引擎将二维的网格三维化,最后得到地图的三维模型; (2)服务器提供地图切片的服务,客户端通过请求服务器地图切片,将地图切片映射到三维地球模型上,实现三维地图的显示。3.根据权利要求2所述的一种利用Flash实现网络三维地图实景模拟的方法,其特征在于,步骤I)所述根据二维网格的四个角点的坐标计算出在三维球体上的位置的步骤根据网格的上下左右四个边界的经纬度坐标,我们可以计算出网格在三维球体上横向的弧度范围和纵向的弧度范围,以及网格左上角的点在三维地球的位置,计算公式如下xRadian = ((left+180)/360)*2 ηyRadian = ((90-top)/180)* πhRadian = ((right-left)/360)*2 πvRadian = ((top-bottom)/180)* n 其中top, bottom, left, right分别为网格上,下,左,右四个...

【专利技术属性】
技术研发人员:杜震洪刘仁义张丰李欣
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1