虚拟香港中文大学校园的设计与初步试验
来源:第三维度
作者:龚建华,林珲,谭倩
单位:香港中文大学地球信息科学联台实验室
摘 要:本文采用客户机/服务器结构,应用Java 和VRML97开发工具,基于HTTP协议,设计并开发了基于因特网的虚拟校园环境,并以香港中文大学的崇基学院校园为例,建立了系统原型。在中文大学的虚拟校园环境中,用户可进行三维空间漫游探索、点坐标和地物属性的查询、地物的增加或删除等操作,并可基于三维化身和文本对话实现在网络的共享虚拟空间中与其他在线用户的交流和互动。
0.引言
目前,虚拟大学存在有两种定义,并分别带来不同的研究与实践。一种定义是从信息、网络和媒体技术发展角度,虚拟大学被理解为一个以计算机和网络为平台的、远程教学为主的信息主体[1][2][3]。它一般包括“内容”、“环境”和“学历证明”三个层面,其中“内容”包括授课内容、课程结构、课程社会价值等;“环境”包括学习环境和学生社会关系等;“学历证明”包括考试、学业评估和学历授予等[4]。另一个是从因特网(万维网) 、虚拟现实技术、网上虚拟社区(社群) 和3S技术的发展角度,虚拟大学被定义为对现实大学三维景观和教学环境的数字化和虚拟化,是基于现实大学的一个三维虚拟环境,用于支持对现实大学的资源管理、环境规划和学校发展。
在具体实践中,第一种定义的虚拟大学,现大多强调“内容”和“学历证明”层面,对“环境”层面大都忽略。这样,由于虚拟大学没有一个共享的三维空间校园以及社会互动环境,学生们对虚拟大学缺乏认同感,学生之间的互动学习和集体的社会活动也很难开展[5][6];第二种定义的虚拟大学,现主要侧重运用数字摄影测量、GIS、遥感、三维图形和网络技术建立三维校园景观虚拟环境,供三维空间浏览。该种定义的虚拟大学进一步发展面临的问题是:如何在三维虚拟校园基础上,开发更有深度的应用。
根据上述两个方面上虚拟大学的特征和存在的问题,我们认为,虚拟大学的未来发展应该是利用前述两个方面上虚拟大学的特征互补性,研究和试验远程教学与三维虚拟环境(校园环境和教学环境) 的集成和融合。如此,虚拟香港中文大学可认为包括现实香港中文大学的虚拟化和远程教学的虚拟大学,其虚拟大学校园包括真实表达和模拟现实中文大学校园景观的三维虚拟校园I以及与现实现实中文大学校园景观没有任何对应关系的三维虚拟校园II。虚拟校园I主要为现实中文大学服务,虚拟校园II则主要是远程教学的基地,它的建筑和校园风格可以自成一体。目前,在香港中文大学,与虚拟香港中文大学建设相关的项目有:基于网络的教育[7],基于实时视频会议的跨空间教学[8],和校园虚拟现实构建[9][10]等。本文主要介绍表达现实中文大学校园的网上虚拟校园环境系统的设计、开发和初步试验。
香港中文大学位于香港的新界,有大学本部、崇基学院、新亚书院、联合书院和逸夫书院组成,其校园总占地134公顷,共有110个现代建筑物[11]。
1 虚拟校园研究现状
随着虚拟现实技术和网上三维虚拟环境的发展,以及数字地球概念的提出和广泛的实践,对现实大学校园的数字化和虚拟化,即对虚拟校园的研究与构建也越来越多。例如,中文大学校园的虚拟现实构建,已有许多研究和工作。图1是QuickTime VR显示的基于多张摄影照片的,位于中文大学图书馆,百万大道的实景虚拟现实[9];图2是应用CAD和VRML技术建立的位于中文大学图书馆,百万大道的虚拟校区[10]。但是实景虚拟现实只能观看和浏览,不能作三维空间探索和三维量测分析;而基于CAD和VRML的虚拟校区建立方法,由于没有以实际地理坐标为参照和基础,从而也无法建立复杂的整个虚拟校园。
图1实景虚拟现实 图2基于CAD和VRML的虚拟校区
目前,以地理坐标为基础框架来建立虚拟校园的方法一般是:首先应用GIS和CAD,图象纹理粘贴,LOD等技术构建包括地形,地貌,建筑,道路,树木,路灯等地物的三维数据库,然后转换成虚拟现实构模语言表达的三维场景,放置于服务器上,供客户端计算机用户应用VRML浏览器下载和显示。在实际研究中,以上述方法建立的虚拟校园,功能上是很简单的,仅能提供单用户在三维空间中的探索,而不能满足虚拟大学中学生和学生,学生和老师之间的关系互动即多用户之间的社会交互,以及用户在三维世界中的查询分析和操作等要求[5]。
本文将以校园的地理数据为基础,应用客户端/服务器结构,VRML和Java语言,HTTP协议等建立网络上运行的多用户互动的三维虚拟校园环境。
2 中文大学虚拟校园系统设计
中文大学虚拟校园的构建,涉及三个方面,即用户、应用程序和地理数据。根据上述三者之间的相互关系,可设计系统结构;考虑用户需求,在客户端,可设计系统功能和用户界面;根据系统功能和特征,在服务器端,设计应用程序服务器;根据中文大学校园的数据维数、类型、大小和特点,设计基于VRML世界的三维地理对象模型和数据流[12][13]。
2.1 系统结构
虚拟校园采用客户端/服务器结构,参见图3。在服务器端,包括应用程序服务器和数据库服务器;在客户端,包括三维虚拟世界浏览器和应用程序,其中应用程序包括诸如用户对话管理模块、数据量测模块、二维图形显示管理模块等。
图3 虚拟校园的客户机/服务器结构
用户的任务处理,有的在客户机端由应用程序执行,有的在服务器端执行[14][15]。如果在服务器端,那么服务器接受请求后,会运行服务器端应用程序,待处理完成后,就把结果传回到客户端。我们应用VRML表达三维世界,这样客户端的VRML世界浏览器就可以从网上免费获取,不用自己开发,从而可以把工作重点放在负责地学数据的准备、构模、以及数据查询、分析的Java程序设计上。客户端VRML世界浏览器与客户端Java 应用程序的相互通信与交互,可采用VRML EAI( External Authoring Interface)技术实现[16]。
2.2 交互界面
虚拟校园的最终用户主要是学生和老师,所以其人机交互界面,必须以一般大众(而非专家) 为其用户对象,以直观、方便、易用为目的。图4表达了虚拟校园的用户界面结构,它同时也说明了系统所具有的功能。
图4 人机交互界面结构
图4中的“三维图区”,用于显示三维VRML世界,用户可以在VRML世界浏览器选择不同的空间探索方式(如飞行或行走) 、行动速度、当事人或第三者观察方式、指定路线漫游等;
“数据处理与分析区”,可让用户根据因特网的传输速率以及用户计算机的处理能力,选择合适的空间几何分辨率和属性分辨率参数,选择叠加的属性种类,如水系、道路、居民点、植被等;可让用户增加/删除/编辑地物对象,进行点地理坐标或地物对象属性的查询等等。
“文本交谈区”, 可让用户可与在线的其他用户进行基于文本的交谈通讯,交换关于虚拟中文大学的各种信息,或进行合作研究等。在线用户的互动还可以通过三维化身来实现。三维化身,是在线用户在虚拟环境中的身份表达,用三维图形表示。
“二维图区”,用于显示与三维VRML世界紧密相连的二维图。用户可在二维图上选择两个点(x1,y1)和(x2,y2) 后,即确立了要显示与分析的区域大小窗口。该窗口可以在四个方向(上,下,左,右)移动时,三维图也将随之变动。该二维图同时可用于导航,即显示用户在三维地理世界中漫游(飞行或行走)时的空间位置与路线轨迹。
2.3 应用程序和数据库服务器
虚拟校园的服务器端包括应用程序服务器和数据库服务器。而应用程序服务器是虚拟校园的核心部分,包括VRML世界生成服务器、数据处理和分析服务器和多用户管理服务器等。
VRML世界生成服务器:该服务器在接到用户的请求后,根据显示范围大小,要求的空间分辨率、属性分辨率,显示范围内地理目标的选择等参数,动态地与数据库服务器连接把相应的地理对象数据取出并转换成VRML世界模型,供用户浏览与交互。
数据处理和分析服务器:该服务器执行地理对象的查询、增加/删除/编辑后的地理对象管理和地理空间计算与分析(如视域计算、最短距离分析)等。
数据库服务器是用于管理虚拟校园的三维地理对象和与多用户有关的数据,一般可用Oracle、Microsoft Access等数据库作服务器。
多用户管理服务器,是本文区别于目前其他一般网络地学三维虚拟环境的重要特征,具体说明见下一小节。
虚拟校园的应用程序服务器,我们应用Java Servlets设计并实现。应用程序服务器和数据库服务器之间的连接通过JDBC实现。
2.4 多用户管理服务器
在当前网络GIS和分布式地学虚拟环境研究中,在线用户之间的相互关系和互动一般是不考虑的。但在虚拟校园中,在线的学生与学生、学生与教师的实时交流和互动,对于学生的学习能力、学生的社会活动能力的提高,以及培育对虚拟校园文化和共享虚拟空间、共享社会活动环境的认同感具有重要的意义。所以,本文设计了一个多用户管理服务器,用于专门管理在线用户的相关信息,如用户名、三维化身类型与地址、三维化身在虚拟校园的位置和朝向及其用户间的通信数据发送等等。
2.5 三维地理对象建模
在地理景观系统中,地理对象根据空间维上的分布特性,可分为二大类: 一类是以场为基础的对象,如地形、土壤种类分布等,这类对象在空间上连续分布,称为地形景观对象;另一类是以离散实体为特性的对象,如建筑屋、树、电话亭、路灯等,这类对象以独立的个体而存在,称为地物对象。
地形景观的三维几何空间数据是三维地理世界构模的基础数据,并且其大数据量(如大量的三角形数或栅格单元数)是三维地形景观实时图形处理的瓶颈。所以,地形景观对象的构模是虚拟校园建立的一个关键部分。在本文中,我们采用用不同层次(不同分辨率)的几何和属性数据表达地形景观对象,即用不同三角形个数的三角网表达地形景观对象的不同层次的几何分辨率, 用不同大小的纹理图象表达属性分辨率。
对于离散的地物对象,一般可用CAD模型、分形模型、人工生命技术等三维处理与表达,然后,根据地物在实际校园中的地理位置坐标、地物实际大小、地物朝向和纹理结构等,建立可构成虚拟校园环境的三维地物对象库。虚拟校园环境的地物对象从存在角度看,有两类:一类是目前存在的地物对象;另一类是虚拟校园环境运行时是由用户加入的,但现实中未存在的物体。这两类地物,在数据库对象管理时应区别对待。
在虚拟校园环境中,离散实体地理对象一般数目很多,所以,为了实现快速的图形计算与显示,也必须应用多层次表达法建立每一个对象的多层次空间与属性模型。
2.6 数据流
虚拟校园环境的建立,从数据流角度,包括三维源数据、三维地理对象和VRML世界三个方面,其关系参见图6。
图6 虚拟校园建立的数据流
2.6.1.三维源数据
三维地理数据的采集,可以通过地面野外测量、地形图数字化、数字摄影测量等方法获取。一般应用GIS和CAD等技术获取。但用这些系统表达的三维源数据,由于主要考虑表达地理景观的完备性,而对数据的三维显示与处理效率与效果考虑较少,所以较难通过直接转换应用于VRML世界的构建。
2.6.2. 三维地理对象
我们应用面向对象的方法,根据三维源数据,建立三维地理对象模型。三维地理对象的建立,必须考虑VRML世界的实时可视与分析,即须考虑观察者的存在与实时感觉,一般要应用多层次(多分辨率)法表达。
每一个三维地理对象都包括元数据、本质属性和观察属性。元数据是关于数据的数据,这里是描述三维地理对象的总体基本特性,如空间数据来源与精度、名称、子对象个数、纹理图像说明等等。本质属性描述三维对象的现象之本质,包括空间、时间属性和地理属性等。观察属性描述三维地理对象相对于人的观察特性,包括人的视觉、听觉等等。三维地理对象,由数据库服务器存储和管理。
2.6.3.VRML世界
VRML 世界是根据用户的参数选择要求,由三维地理对象模型转换形成的。由于三维地理对象模型的建立,考虑了用户(观察者)的不同需求以及实际应用效果,所以,用户可根据网络传输速率和用户计算机处理能力,提出自己的要求,选择特定的参数,例如,可以选择实时地观察VRML世界,但是三维世界的空间分辨率和属性分辨率较低;用户也可以选择较高的空间、属性分辨率,但处理速度较慢等。
但在实际中,VRML 世界生成时间有二种方式:一种是在运行前,三维地理对象已全部用VRML表达,这样在系统运行时,只须直接把VRML世界从三维对象数据库取出即可;第二种方式是在运行时,才把以其他非VRML格式表达的三维地理对象转化为VRML世界。
3 .初步试验及系统原型
在本文的初步试验中,我们选择香港中文大学的崇基学院校园作为试验区,建立虚拟中文大学虚拟校园环境原型。
3.1. 原始数据处理
中文大学校园建立在山上,所以地形和地貌较为复杂。由于香港土地署测绘的包括中文大学校园的地形图与中文大学的校园发展处关于校园地形的CAD数据,涉及到人居的区域,没有等高线,只有很稀疏的有高程的点,所以无法直接应用地形图的等高线和高程点数据,建立表达校园真实地形的数字高程模型。在试验中,我们以校园发展处校园地形CAD数据为基础,根据实际地形和地貌的情况,在大脑中首先进行地形建模,然后在CAD数据基础上,手工加密可以反映实际地形的等高线和高程点。最后,应用Arc/Info进行地形以及地物的数字化和编辑。对于建筑物和湖,在数字化时用面表达;对于道路则用面、线表达。同时,Arc/View被用于空间和属性数据库的二维显示和管理。
3.2 三维对象库建立
运用Arc/Info和Arc/View 处理原始数据后,可得到以Shapefile 文件格式存储的二维、三维矢量数据及行列形式存放的栅格数据。然后,应用C++语言自行开发的数据模型转换系统,把上述各类数据合成,并转换成可直接用于构建VRML世界的三维地理对象库。
对于地形景观对象的数字高程模型,采用3个层次的不规则三角网表达,它们由我们自行开发的三角形综合合并程序获取的。应用与数字高程模型配准好的SPOT遥感影像图象数据作为纹理图象,也由不同分辨率的3个层次来表达。
对于离散地物对象如房屋、道路和湖等,我们分别用VRML表达每一个对象,并分别存储和管理。关于地物与地形的空间匹配关系,是通过等高线、等高点和离散地物底面周边线一起生成数字高程模型TIN来处理的。
3.3 系统原型与应用
用户运用标准的万维网浏览器如Internet Explorer或Netscape Communicator, 以及VRML世界浏览器插件如Cosmo Player (Cosmo Player 2000)或 Blaxxun Contact (Blaxxun 2000)等(因特网上可免费下载),就可以进入虚拟校园环境。系统刚启动时,它要求用户输入用户名以及选择相应的三维化身。图7表示有两个人在线的虚拟校园环境用户交互界面。两个在线用户选择的三维化身分别是人头化身和机器人化身。用户选择的空间几何分辨率和属性分辨率层次分别为1,属性是遥感图像(在本试验是默认设置的)。
在三维虚拟空间中,用户既可以以鸟瞰、客观方式,观看整个三维场景,如图8表示的是客观方式时的整个虚拟崇基校园;也可以以参与者主观体验方式,见图7。
图7中文大学虚拟校园原型界面
图8 中文大学虚拟崇基校园
多用户之间的实通信和交互,通过化身的位置和朝向、以及文本对话框来实现。用户除了作三维空间探索外,还可以进行其他的操作,例如,点坐标查询、地物属性查询和地物增加/删除。在图7的右上角窗口中,显示的地理坐标如(839552.94,830688.44,7.437752),表示三维场景中用户鼠标所指的某一点坐标。如果用户要查询地物属性,则既可以用关键词,也可以在三维场景中在要查询的地物上点击鼠标右键两种方式,查询的结果会显示在虚拟环境界面的右上角窗口。在图7的左上角三维窗口中显示的树木,是用户应用系统的“地物增加/删除”功能实现的,操作的过程如下:首先,用户在虚拟环境界面的右上角窗口中,选择要增加的地物对象的种类如tree1,然后,用鼠标在三维场景中选择要种植种类为tree1的树木的地理位置,再点击右上角窗口中的“Add”键,三维树木即可出现在三维场景中。增加的地物及其属性,将由数据库服务器存储和管理,同时多用户管理服务器会把该地物信息发送到所有在线的其他用户,即在所有其他在线用户的三维场景中会出现种类为tree1的树木。所以,虚拟校园环境是一个空间共享、地物对象多用户管理和共享的,可进行分布式合作学习、研究和工作的网上系统。
4.结论与进一步工作
三维虚拟校园环境是分布式虚拟环境在教育和学习方面的应用。本文从系统结构、用户界面、应用程序和数据库服务器、地理对象构模、数据流方面,讨论了分布式虚拟校园环境的系统设计,并以香港中文大学的崇基学院校园为例,作了初步试验。虚拟校园环境是为最终建立可用于虚拟教育和学习的虚拟香港中文大学的第一步,所以未来的工作除了进一步完善三维虚拟校园环境外,还应开展与虚拟学生社区、远程教学有关的项目,具体来说,可包括:建设包括香港中文大学其他三个书院、大学本部及其他校区的整个虚拟校园,建立建筑物表面纹理数据库和其他如路灯、亭子、花、树等三维地物数据库,集成包括声音、照片、实时视像的多媒体信息[17],设计和构建与现实香港中文大学校园景观没有对应关系的、可用于建立虚拟社区和远程教学的虚拟校园,建立与三维虚拟校园密切结合的远程上课教学环境等等。
参考文献:
[1] SCHANK R C The Virtual University[J].Cv.berpsyohalogy&Behavior,2000,3(1):9-16.
[2] MAJH.HUANG R H University 21一An IntegratedEducation System[A: International Perspectiveson Tele·Education and Virtual Learning Environmentslc J.Burlington:Ashgate Publishing Company.2000.109一139.
[3] CUHK.About the UniYer tv[EB/OL].http://www.cuhk.edu.hk/ipro/about/about.htm1.2001-12-01
[4] FABRI M,GERHARD M The Virtual Student:Uer Embodiment in Virtual Learning EnvironmentsA] International Persp~ctive[C]on Tele-Education andVirtual Learning Environments [C] Burlington:Ashgate Puhbshing Company,2000 32-55
[5] GONG Jian-hua.LIN Hui.Virtual Geographic Environmertts-A Geographic Perspective OD Online VirtuMReality[M].Beijing:High Education Press,2001(in Chinese)
[6] STEPHEN W VNET[EB/OL].http://vrml.mingcoeom/es/multiuser/index.2.htm ,l999-06—02.
[7] DYKES J,MCORE K,WOOD J.Virtual Environ.merits for Student Pieldwork U sing Network Compo·nents[J].International Journal of Geographical lnformationScionce,l999,J 3(4):397.416