1.一种基于全景实景和地理信息的3D虚拟社区构建方法,其特征在于包括以下步骤: 建立虚拟社区的架构,通过创建基于场景显示外幕的虚拟空间、创建虚拟地面、设定用户在虚拟地面上的漫游方式并在虚拟地面上添加3D实体以及将虚拟空间与现实世界的地理信息同步三个步骤建立一个虚拟社区显示平台,获得基于全景实景图像和地理信息的虚拟社区,使用户在所述虚拟社区中与环境交互以及当前用户与其他用户交互; 所述用户在所述虚拟社区中与环境交互以及当前用户与其他用户交互的步骤为: 开始执行并初始化用户在虚拟社区交互的控制程序;
从服务器获取第一帧全景实景图像数据以及对应的地理信息数据,并从服务器中的用户管理单元将当前客户端位置指定范围内的其他用户信息传送到虚拟社区显示平台; 对当前场景进行更新,利用获取的全景实景图像数据构建场景显示外幕,并在其内部显示可见的其他用户3D人物实体;将用户当前的地理信息数据传送到服务器的用户管理单元进行更新;
在虚拟社区中进行漫游,并从服务器获取当前用户在下一位置的全景实景图像数据、地理信息数据以及在该位置指定范围内的其他用户信息,并与其他用户进行交互或其他3D实体进行交互;
判断是否退出程序,如退出,则结束用户在虚拟社区交互的控制程序; 或者,如果不退出用户在虚拟社区交互的控制程序,则返回“对当前场景进行更新,利用获取的全景实景图像数据构建场景显示外幕,并在其内部显示可见的其他用户3D人物实体;将用户当前的地理信息数据传送到服务器的用户管理单元进行更新”步骤。
2.按权利要求1所述一种基于全景实景和地理信息的3D虚拟社区构建方法,其特征在于所述构建虚拟社区显示平台时全景实景图像数据和地理信息数据的准各步骤包括:
1)利用数据采集平台采集构建虚拟社区显示平台所需要的原始数据,将一帧的全景实景图像数据与该帧所对应的地理信息数据按照连续的方式在数据采集存储器中分别进行存储,并转存到服务器的数据存储单元中;
2)将在数据存储单元所存储的每一帧图像数据的存盘路径与该帧对应的地理信息数据建立关系表,将关系表存储于服务器的数据库单元中。
3.按权利要求1所述一种基于全景实景和地理信息的3D虚拟社区构建方法,其特征在于所述创建基于场景显示外幕的虚拟空间步骤是:采用3D图形程序接口刨建虚拟空间的三维环境,并在虚拟空间的三维环境中绘制场景显示外幕;将采 集到的全景实景图像数据从服务器传送到客户端中的3D显示平台,并纹理映射到场景显示外幕,获得基于场景显示外幕的虚拟空间。
4.按权利要求1所述一种基于全景实景和地理信息的虚拟社区构建方法,其特征在于:所述虚拟地面的建立方法如下:
在已经构建好的场景显示外幕所在的虚拟空间中建立一个不可见面作为虚拟地面; 确定上述虚拟地面在虚拟空间中的位置,以保证在场景显示外幕上显示的图像与虚拟空间的透视关系相一致。
5.按权利要求1所述一种基于全景实景和地理信息的3D虚拟社区构建方法,其特征在于:所述设定用户在虚拟地面上的漫游方式包括:
对虚拟地面上的距离与现实世界中的实际距离关系进行标定,即对在虚拟空间中从用户视点到虚拟地面距离以及全景实景图像采集设备的镜头主光轴到地面实际距离进行测量,这两个距离的比例作为虚拟空间距离到实际距离的转化标尺; 在用户不能观察到自身的3D人物实体的显示场景中进行第一视角漫游;或者在用户能够完整观察到其自身3D人物实体的显示场景中进行第三视角漫游。
6.按权利要求5所述一种基于全景实景和地理信息的3D虚拟社区构建方法,其特征在于:所述第一视角漫游为跳跃式漫游,具体为:
开始执行第一视角跳跃式漫游程序;
在初始化过程中首先要对虚拟地面位置以及虚拟地面距离和现实世界距离之间比例关系进行标定;
通过点选在场景显示外幕内部的虚拟地面或3D建筑物实体进行漫游,即通过点选方式获取目标位置的虚拟空间坐标,将该坐标投影到虚拟地面上得到点选位置在虚拟地面的坐标;
获取点选位置与初始位置之间在现实世界中的实际距离和全景图像采集设备的旋转角,并计算该位置的实际经纬度;
用户判断是否跳转至点选位置,如果跳转,则接续下―步骤;
将计算所得的点选位置所对应的现实世界地理位置通过网络传送回服务器,在数据库管理单元中查找与该地理位置最邻近的全景实景图像数据的URL;在数据存储单元将全景实景图像数据进行提取,并传输回客户端中的3D显示平台,在点选位置上绘制场景显示外幕,并在其上进行纹理贴图,同时在地理信息平台上更新用户当前的地理位置; 判断是否退出第一视角跳跃式漫游程序,如退出,则结束跳跃式漫游程序;或者,如果不退出第一视角跳跃式漫游程序则返回“获取点选位置与初始位置之间在现实世界中的实际距离和全景图像采集设备的旋转角,并计算该位置的实际经纬度”步骤; 或者,如果不跳转至点选位置,则返回“获取点选位置与初始位置之间在现实世界中的实际距离和全景图像采集设备的旋转角,并计算该位置的实际经纬 度″步骤。
7.按权利要求5所述一种基于全景实景和地理信息的3D虚拟社区构建方法,其特征在于:所述第三视角漫游具体为:
开始执行第三视角漫游程序;
在初始化过程中对用户的3D人物实体在当前帧场景所在虚拟地面位置的漫游范围进行限定;
操纵该用户的3D人物实体在当前帧所处的虚拟地面上进行漫游;
当用户操纵3D人物实体远离初始位置时,计算3D人物实体当前所在位置与初始位置在虚拟空间中的距离以及相对于初始位置的全景图像采集设备的旋转角;将这个虚拟空间中的距离按照标定好的虚拟空间与现实世界距离的转换关系进行转换,得到在现实世界中3D人物实体所在位置与该初始位置的距离;
用户判断是否跳转至3D人物实体所在位置;如果跳转接续下一步骤; 将计算所得的3D人物实体在虚拟地面的位置对应的现实世界的位置传送回服务器,在数据库管理单元中查找与该现实世界位置最邻近的全景实景图像数据的URL;在数据存储单元中将全景实景图像数据进行提取,并传输回客户端中的3D显示平台;在当前3D人物实体所在虚拟地面的位置上绘制场景显示外幕,并在其上进行纹理贴图,同时在地理信息平台上更新用户当前的地理位置;
判断是否退出程序,如退出,则结束第三视角漫游程序;
或者,如果不退出程序,则返回“当用户操纵3D人物实体远离初始位置时,计算3D人物实体当前所在位置与初始位置在虚拟空间中的距离以及相对于初始位置的全景图像采集设备的旋转角”步骤;
或者,如果不跳转至3D人物实体所在位置,则返回“当用户操纵3D人物实体远离初始位置时,计算3D人物实体当前所在位置与初始位置在虚拟空间中的距离以及相对于初始位置的全景图像采集设备的旋转角”步骤。
8.按权利要求1所述一种基于全景实景和地理信息的3D虚拟社区构建方法,其特征在于:所述在虚拟地面上添加3D实体为:
将在虚拟空间外部创建的3D实体模型导入到虚拟空间中的虚拟地面上,即在的虚拟地面上漫游之前,将利用3D建模工具建立好的3D实体模型文件进行数据存储,得到3D实体的原始数据,再将所述原始数据利用程序接口读入3D显示平台;
或者,在虚拟空间内部创建3D实体并添加到虚拟地面图上,即在服务器的3D实体管理单元中先将准备在虚拟空间中绘制的3D实体的属性信息进行存储,当用户在虚拟空问中漫游到上述准备绘制的3D实体的位置时,服务器将3D实体管理单元中在当前地理位置的3D实体属性信息通过程序接口传输到3D显示平台,在3D显示平台中利用3D图形程序接口绘制3D实体。
9.按权利要求1所述一种基于全景实景和地理信息的3D虚拟社区构建方法,其特征在于:所述将虚拟空间与现实世界的地理信息同步包括:
将场景显示外幕当前帧全景实景图像数据所对应的地理信息数据以及该用户在 虚拟社区中所处地理位置指定范围内的其他用户地理信息数据,通过3D显示平台与地理信息平台之间的程序接口实时传递给地理信息平台;在地理信息平台上标定并更新该用户及其指定范围内其他用户的当前位置。
10.按权利要求1所述一种基于全景实景和地理信息的3D虚拟社区构建方法,其特征在于:所述全景实景图像数据以及地理信息数据传送的具体步骤为:当前用户的全景实景图像数据及其所对应的信息数据通过网络数据传输协议从服务器中的数据库管理单元以及数据存储单元直接传输到嵌有网络传输协议的3D显示平台,用于3D显示平台中场景的实时更新;
同时3D显示平台通过其与地理信息平台在客户端的程序接口,将该用户当前的地理信息数据传递给地理信息平台,并在地理信息平台上实时更新该用户当前所在虚拟空间中对应的现实世界的地理位置。
11.按权利要求1所述一种基于全景实景和地理信息的3D虚拟社区构建方法,其特征在于:所述其他用户信息传送的具体步骤为:通过网络数据传输协议从服务器的用户管理单元传输其他用户信息到客户端,将其他用户信息在地理信息平台上进行更新,并通过地理信息平台与3D显示平台在客户端的程序接口将其他用户信息传递到当前客户端的3D显示平台。
12.按权利要求1所述一种基于全景实景和地理信息的3D虚拟社区构建方法,其特征在于:所述用户在虚拟社区中与其他用户交互步骤如下:
当前用户的3D人物实体在虚拟社区中漫游的同时,服务器通过基于数据传输协议的网络为当前用户的客户端传送其他用户信息;
上述其他用户信息通过浏览器网页程序与3D显示平台程序之间的数据接口传递到3D显示平台,通过3D图形程序接口利用已经得到的其他用户信息,在当前用户的虚拟社区场景中实时创建并显示其它用户的3D人物实体,并且根据其他用户的地理信息数据,在当前用户客户端的地理信息平台上更新其他用户的地理位置;
如果当前用户想同当前场景中的某个其他用户进行交互,则点击该用户3D人物实体,在虚拟社区交互的控制程序中查询被点击的其它用户信息并返回其IP地址; 采用网络连接方式将当前用户与其所选择的其他用户进行点对点连接,实现用户之间的文本交互、语音交互以及视频交互。