房爱莲 侯艳艳
[摘要]随着网络技术的发展和教学资源的扩大,改进和优化虚拟实验室体系结构,建立三维模型库,可以提高模型利用率并加快模型检索速度,实现虚拟教学资源的共享性和扩展性。初步探讨了基于网络模型库的虚拟实验室的体系结构,分析了三维模型库设计过程中需要考虑的几个问题,最后实现了一个简单的三维模型库原型系统,并应用在虚拟考察实验室中。
[关键词]三维模型库;模型库管理系统;虚拟实验室;体系结构
[中图分类号]G40-057 [文献标识码]A [论文编号]1009-8097(2012)10-0114-04
引言
随着虚拟现实技术和网络通讯技术的不断发展,众多高校纷纷提出了自己的虚拟实验室建设方案。在虚拟实验室中,学生既可以在虚拟实验平台上动手操作,也可以自己设计实验。与传统的教学方式相比,学生能够比较直观的理解学习内容。
三维仿真模型是虚拟实验室中重要的组成部分,对学生来说,虚拟实验室中的三维模型通常有三种来源,自己动手开发、网络下载和教师提供,得到的三维模型通常存在很多问题,如模型种类有限,格式不统一,调整参数不一致等。为此,本文认为开发一个以学科分类为基础的网络三维模型库是非常必要的,通过建立标准的模型资源库,提高三维模型的利用率。
国内外在仿真模型资源库方面也有一些研究,为了提高模型利用率和加快模型检索速度,从不同的角度进行了分析,探讨了三维模型库的模型分类方法、体系结构、访问方式、系统用户和功能等,具有较高的参考价值。目前存在的大部分的三维模型库主要针对特定领域和应用,例如,用于医学教育的三维模型库,通过对医学教育中常用到的形体进行建模,形成可重用的三维模型。机械元件三维模型库,主要针对机械制图课程。铁路构造物三维模型库可以简化景观模型的建立,并有效的管理三维模型。电子战仿真模型库系统,研究了基于构件的软件复用技术在电子战仿真领域中的应用。但是大部分研究主要关注模型本身的管理问题,没有考虑到三维模型与场景交互产生的数据信息,对于一个具有交互功能的虚拟场景来说,除了模型本身的描述信息外,还应该包括模型在场景中的参数信息,以及用户输入的数据资料。所以,本文在描述网络三维模型库组织结构的同时,也考虑了场景与模型交互产生的数据的存储问题,区分了模型库和数据库的不同,便于模型的调用和数据的管理。
一、系统结构
基于网络三维模型库的虚拟实验室由三个部分组成:模型库和数据库、场景管理系统、可视化管理,如图l:
1.模型库和数据库
基于网络三维模型库的虚拟实验室,首先需要区分模型库和数据库。将模型和数据分开存放,目的是降低三维模型与虚拟场景的耦合度。模型库是将虚拟实验室中反复使用的三维模型,用专业建模工具绘制出来,并根据模型分类存入模型库,模型库中的模型与具体的虚拟场景无关。数据库则针对具体的虚拟场景,存放与场景建立有关的信息,如场景中模型位置参数,用户输入属性等,数据库只需记录三维模型在模型库中的索引号,而不必存放具体的三维模型文件。
2.场景管理系统
场景管理系统包括模型库管理系统和数据库管理系统两部分。模型管理系统是一个独立于具体应用领域,对模型进行分类和维护,支持模型生成、存储、查询、运行和分析应用的软件系统。各个领域的专家和用户能够利用模型库管理系统找到所需的三维模型,放入虚拟场景中。数据库管理系统实现对虚拟场景数据的存储和读取。
模型库管理系统与数据库管理系统共同管理虚拟场景中的对象。当用户选择一个已存在的虚拟场景时,数据库管理系统首先访问场景数据库,取出每条数据,拿到三维模型在模型库中索引信息,位置参数,交互数据,将索引号传递给模型库管理系统找到该模型,根据参数信息将模型还原到场景中的具体位置,当用户点击模型时,显示模型的交互信息。
场景重现时,模型库管理系统提供了两种模型调用的方式,一种是直接调用网络模型库中的三维模型到虚拟场景中,另一种是将网络模型库中的模型提前下载到本地模型库中再调用。后者有利于加快场景渲染的速度,但占用本地存储空间。前者减少了本地虚拟实验平台的存储空间,但需要稳定的网络线路。
3.可视化管理
虚拟现实充分利用了科学可视化技术,利用虚拟建模工具(OpenGL、Java3D、VRML),实现逼真的三维场景,用户可以漫游在虚拟场景中,通过键盘和鼠标与场景中的三维模型交互,获得学习资源。
可视化管理部分主要负责建立虚拟场景、导入三维模型、实现场景漫游、管理交互操作等。通过虚拟现实技术实现场景的渲染。
二、三维模型库
三维模型库的建设主要考虑以下几个问题,模型库分类表的设计、模型的命名规则和存储方式、模型的文件格式。
1.分类表设计
分类表也称为模型字典,包含模型库中所有模型的分类和存储信息,是关于模型描述信息即模型元数据的特殊数据库。通过分类表,用户可以方便的找到所需分类下的全部三维模型,提高了模型查询和检索的速度,并为智能决策提供有力的支持。
分类表的设计实际是建立一棵分类关系树,树中每个节点表示一种类别,在类别下面可以包含模型文件,也可以继续往下分,分类表以层级结构展开,库中的模型都应属于分类表中的一个分类,即每个模型是分类树中的一个叶子节点。
本文设计的模型库主要用于虚拟教学,所以模型库按照不同学科进行分类,同时提出自建的分类表,即分类表随着三维模型的增加,可以不断添加新的类型。向模型库中添加新模型的时候,先在已有的模型库中查找是否存在符合的分类项,如果存在,就将三维模型添加到该分类下,如果不存在,则选择在某一个分类项下建立新的分类。通过这样的方式,可以逐渐完善模型库的分类表。图2为初始的分类关系树:
2.模型存储方式和命名规则
一个三维模型通常由几何实体、纹理信息和描述信息三部分组成,描述信息包括作者、上传日期、文件格式、模型用途等。模型文件根据存放位置的不同可以分成两种:一种是将组成模型的三部分分别存放到不同的文件中,分类管理。另一种方式是将一个模型的三部分数据存放在同一个文件目录下。第一种方式调用模型时需要分别查找三个文件,当模型系统中模型数量大、组织结构复杂时,会增加模型的检索时间。而第二种方式让同一个模型的三个文件存放在同一个目录文件下,便于管理和调用,所以本文设计的三维模型库采用这种存储方式。
模型的命名规则应该尽量做到“见名知意”,即基于内容的命名方式,便于模型的分类和检索。同时,一个三维模型在不同的应用场合会有不同的名称,针对这种情况,一个三维模型除了文件名以外应该可以贴上不同的标签。模型的标签作为模型的描述信息存储,增强了模型检索的精确度。为了避免模型重名带来的问题,模型库中的每个模型应该有一个ID,重名时,在文件名后面以自动递增的方式添加一个数字,通过ID和文件名确定唯一的三维模型。
3.模型文件格式
根据不同的建模工具或实际应用,三维模型文件的格式很多,比较常见的有3DS、OBJ、VRML、X3D等,在模型库中采用统一的文件格式还是存放不同类型的文件格式也是一个需要考虑的问题,一些针对专门领域的虚拟实验室,常选择一个文件格式作为标准格式。考虑到网络三维模型库的扩展性和开放性,本文认为模型库应该支持多种模型文件格式的存储,以便支持多样化的文件格式查找和检索,满足不同的虚拟实验室对模型的需求。
三、网络三维模型库在虚拟实地考察中的应用
1.用户分类和系统功能
基于网络的三维模型库将用户分为三类:模型库管理人员、三维模型的开发人员、模型使用人员。不同用户及具有的操作如下:
三维模型的开发人员主要使用建模工具(3DS Max、MAYA、MultiGen Creator、AutoCAD)建立三维仿真模型。
虚拟实验室系统由开发人员进行开发,通常使用的开发工具有OpenGL、Java3D或VRML,系统需要连接三维模型库客户端,并设计三维文件的导入接口,以及模型在场景中的位置参数接口。
2.基于网络三维模型库的虚拟实地考察原型系统
实地考察作为环境科学课程中的一个重要环节,目的在于提高学生的观察能力及动手能力。实地考察的内容包括地质、地貌、河流、湖泊、植被、草原、沙漠等。还可以考察乡土地理、城市社区、综合人文和自然地理等。学生通过实地考察,了解和记录某个地区的环境情况。但许多因素限制了实地考察,如时间、距离、开销、安全性等,这些问题都可以尝试用虚拟现实技术解决。
虚拟实地考察模拟了真实环境的考察过程,学生可以将自己的考察记录用可视化的方式进行展现,将真实环境中的物体用三维仿真模型表示,添加到虚拟场景中的相应位置,并为该模型添加考察记录。另一方面,学生可以在其他考察人员建立的虚拟场景中漫游,通过点击感兴趣的三维形体,了解对应的真实地物的数据资料。
虚拟实地考察实验平台采用Java3D和Swing技术实现,数据库使用MySQL。用户通过鼠标点击、拖曳和键盘输入实现与虚拟场景的交互。效果如图4:
用户界面由两个部分组成,工作面板和控制面板,工作面板是三维可视化窗口,主要负责显示虚拟考察现场。控制面板实现用户与虚拟世界的数据资料的输入与显示。
当考察人员需要向场景中添加仿真模型时,可以打开三维模型库客户端,查找所需的模型,找到模型后将模型拖放到虚拟场景中,同时输入与真实地物对应的模型的考察数据。
网络三维模型库采用客户端进行访问,因此采用C/S的网络模式。当用户向虚拟场景中添加三维模型时,打开模型库客户端。如图5:
界面分为三个部分,左边分类表栏,学生根据分类选择相应科目下的三维模型,中间部分是对模型的基本操作和描述信息,右边是选中模型的显示窗口,由于模型的显示属于可视化的一部分,因此采用Java3D技术实现。在显示窗口中用户可以对模型进行平移、旋转、缩放,当用户选中两个三维模型时,可以再显示窗口中进行简单的模型组合。
四、小结
随着网络通讯技术和虚拟现实技术的发展,网络模型库的完善,为促进高校网络虚拟实验室的建设,实现三维仿真模型的重用和共享,提高虚拟实验室的教学质量有重要意义和价值。本文对网络模型库的研究还只是一个初步尝试,对于复杂、专业性较高的场景构建还需要做进一步的研究。
作者简介:房爱莲,华东师范大学,副教授,研究方向:计算机教育技术。
投稿日期:2012年6月5日
编辑:李婷