文章编号:1672-5913(2009)06-0080-04
摘要:针对网络远程教育中Web课件缺乏交互性和真实感的情况,本文论述用VRML了基于网络的具有交互性的三维图形教学系统为同类课程网络远程教育提供了一种解决方法,其中包括用AutoCAD和3ds Max建模,利用VRML添加运动,用ASP和Access数据库实现了三维图形远程教学系统。
关键词:远程教育;三维图形;交互式;虚拟现实建模语言
中图分类号:G642
文献标识码:A
随着网络技术的发展,利用网络进行课程教学己成为教学改革追逐的新热点。但是,网上教学在现阶段还存在着很多不足。Web课件的制作多局限于基于超链接的文本结构,更是难以见到具有真实感的三维立体图形,网络远程教学的优势未能得到充分发挥。高等学校工科类课程,三维立体结构较多,有些课件用了动画来表达三维模型的运动,受网速限制,动画不能太长、太多,学生只能被动的接受,不能主动参与。为解决这些问题,本文借助VRML(Virtual Reality Modeling Language)实现了三维图形交互式远程教学系统,将虚拟现实技术引入网络课件制作,使学生在网上观察到真正的三维动态模拟,并可进行实时交互操作,提高了学生的参与性和主动性,收到了好的教学效果。
1虚拟现实技术
虚拟现实(Virtual Reality,简称VR),就是利用计算机技术,来模仿已存在或不存在的世界,通过特殊的输入、输出装置,使用户产生身历其境的感觉。作为一门新兴学科,在许多方面都显示出了诱人的应用前景。在航天与军事、产品设计、城市建筑、环境规划、虚拟样机、虚拟制造、医学、娱乐等领域已取得了一定应用成果。
VRML是虚拟现实建模语言,可以在网络上创建逼真的三维场景。VRML用节点(node)来描述虚拟场景中的各个要素。每个节点有其相应的功能,由节点的域和值来保存该功能所需的参数和数值。VRML还支持纹理映射、背景、视频、音频、对象运动和碰撞检测等功能[1]。现在很多三维软件都支持以VRML 格式输出特定场景。
2系统的设计与实现
2.1系统的功能特点
(1) 真实感
该系统展示的是三维模型,比起网络课件常用的图片或文字,更具有真实感。系统展示的是运动模型,一些在课堂上难以讲解清楚的模型,都真实的表现出来。
(2) 交互性
交互性是虚拟现实技术的三个基本特征之一,也是本系统的最大特点。学生可以主动参与,操作控制三维模型,从而可以更全面、更深刻的了解三维图形。
2.2系统规划
系统实现了4个功能:查询模型运动、查询模型、显示所有模型运动、按模型所属运动机构类别查看模型。系统规划如图1所示。
2.3关键技术
2.3.1建模技术
建模的方法有两种,第一种是直接用VRML编程建模。这种方法所编写的模型数据量小,程序可重复利用。第二种方法是在其它建模软件中创建模型再转化为VRML格式。有些三维建模软件如Solid Edge、UG等可以直接输出为VRML文件格式,不能直接输出的也可以通过第三方软件转化。本文所用的模型都是在AutoCAD 2004中建模,通过3ds Max转化为VRML文件格式,并通过3ds Max和VRML编辑器VrmlPad2.0进行优化。
2.3.2场景组合技术
场景组合的方法也有两种,一是用VRML编程装配;二是在专业建模软件(如3ds Max)中装配[2],再转化为VRML文件格式。这两种方法对简单机构来说方便性差不多,后一种要直观一些。对需要编程添加运动的复杂机构,应用VRML编程装配[3]。
2.3.3运动添加技术
(1) 在3ds Max中设置运动
在3ds Max设置的运动可以转化为VRML文件格式。对于物体的无规律运动,在3ds Max中设置后再输出为VRML文件格式较为方便。对于加速度、速度有规律变化的运动,3ds Max中实现这样的运动需要选取足够多的关键帧,并把各个位置的角度精确计算出来,才可以近似模拟运动过程。
(2) 用VRML的时间传感器Timesensor、坐标内插器节点CoordinateInterpolator和方向内插器节点OrientationInterpolator来添加运动
这种方法跟在3ds Max设置运动的方法相似,是利用Timesensor、CoordinateInterpolator、OrientationInterpolator,选取一个运动周期多个关键点,根据计算确定每一关键点每一个构件的坐标值和方向。这种方法对简单的有规律的运动比较方便,对于复杂运动,计算量特别大,而且每两个关键点之间的运动是直线性的,这对于曲线运动的物体来说,需要选很多个点才能将运动过程近似虚拟出来。如图4所示两个齿轮运动使用此法设置,代码如下:
DEF L1 Transform {………} #定义齿轮轴所在的节点L1
DEF L2 Transform {……… } #定义大齿轮、轴、带轮所在的节点L2
DEF t1 TimeSensor { #定义t1时间传感器
cycleInterval 10 #定义小齿轮旋转一周的时间间隔为10
loop TRUE}
DEF t2 TimeSensor { #定义t2时间传感器
cycleInterval 33 #定义大齿轮旋转一周的时间间隔为33
loop TRUE}
DEF o1 OrientationInterpolator {#定义o1方向内插器
key [0, 0.125, 0.25, 0.375,0.5, 0.625, 0.75, 0.875,1 ]
keyValue [ 1 0 00,1 0 0-0.785,1 0 0-1.57,1 0 0-2.355,1 0 0-3.14,1 0 0-3.925,1 0 0-4.71,1 0 0-5.495,1 0 0-6.28 ]}
DEF o2 OrientationInterpolator {………}
#定义o2方向内插器
ROUTE t1.fraction_changed TO o1.set_fraction#将t1的时间变化传给o1
ROUTE o1.value_changed TO L1.rotation
#将角度变化传给L1
ROUTE t2.fraction_changed TO o2.set_fraction#将t2的时间变化传给o2
ROUTE o2.value_changed TO L2.rotation
#将o2的角度变化传给L2
2.3.4虚拟运动模型数据库的构建
要在网络上展示大量的三维虚拟运动模型,须构建运动模型数据库。本文采用Access作为数据库开发平台。Access可以轻松的将数据表发布到Web服务器中,然后利用浏览器迅速获得数据库查询的结果。
在Access中分别设计机构运动数据表和运动模型数据表。机构运动数据表有三个字段值:ID、机构运动名称、链接地址(url)。模型数据表有四个字段值:ID、模型名称、所属机构、url。数据库结构如图2所示:
2.3.5网络环境构建与网页设计
本文用IIS(Internet Information Server)搭建服务器,用FrontPage进行网页设计,网页效果如图4所示。IIS是Windows NT Server的一个组件, IIS结合使用了Windows NT Server内置的安全性以及NT文件系统(NTFS)来构建强大、灵活、安全的Internet和Internet站点。
2.3.6Web数据库访问技术
Web 数据库的访问技术有多种解决方式,实现技术包括:Internet数据库连接器(IDC),公共网关接口(CGI),应用编程接口API(ISAPI,NSAPI),活动服务器文档(ASP),Java 数据库链接(JDBC),基于Javascript或Visual J++的数据库访问等[4]。考虑到系统的数据库规模和信息访问量,本文选择了ASP 技术实现数据库访问[5]。ASP 技术的出现使动态交互式Web 主页设计成为一件轻松愉快的事。ASP支持基于IIS上的服务器端脚本并且完全支持VBScript和JavaScript,只要几行脚本语句,就能将后台的数据库信息发送到Internet上。ASP 提供了更方便、更简单的数据库访问方法。执行分类浏览的代码如下:
<%set rs=conn.execute("select id,ssjg from ssjg order by id asc")
if not rs.eof and not rs.bof then
do while not rs.eof
response.write ""
rs.movenext
loop
end if
set rs=nothing%>
3实现效果
在系统首页机构运动查询栏输入关键词,点击查询,会在右边一栏显示出所有符合要求的运动模型的名称,如图3。点击模型名称,会弹出一个新窗口显示模型的运动效果,运动截图如图4。其它栏的查询、显示步骤雷同,这些运动模型可以利用VRML编辑器Vrmlpad2.0下载到本地机。
VRML文件的浏览需要相关的浏览器,系统提供浏览器下载。VRML是在SGI公司OPEN Inventor文件格式的基础上发展而来的[5],目前使用最多的一个浏览器是原SGI公司的一个子公司COMSO公司开发的Cosmo Player浏览器[6]。Internet Explorer 5.0以上版本自带了插件World View 2.0浏览器,Netscape带有Cosmo Player,不必另行安装。
4总结
本文以AutoCAD 和3ds Max为建模工具,以VRML和VRMLScript为开发语言,以Access 作为数据库开发平台,采用ASP 访问web数据库,以IIS搭建Web 服务器,用FrongtPage设计页面,实现了三维图形交互式远程教学系统。为使相关专业的教师能很快熟悉制作方法,系统在完成过程中,采用一些简单有效的网络应用技术,参考本文提供的技术路线,可以很快熟悉类似远程教学系统的开发。
参考文献:
[1] 卢洁,游运华,马燕,王传华.基于VRML的动物解剖虚拟实验的交互设计[J].计算机仿真,2007,24(2):266-268.
[2] 方锡武.基于VRML的机械传动机构的运动仿真[J].计算机仿真,2007,24(6):203-206.
[3] 康与云,赵晓春.基于VRML的牛头刨床机构运动的虚拟仿真[J].工程图学学报,2006,27(1):149-151.
[4] 汪晓平.ASP网络开发技术[M].北京:人民邮电出版社,2000.
[5] 杨毅超,黄璜.基于ASP和VRML的网络教学系统研究与开发[J]. 湖南农业大学学报(自然科学版),2006,32(1):96-99.
[6] 赛博科技工作室.VRML与Java编程技术[M].北京:人民邮电出版社,2002.
Design and Realization of Interactive Online Educational System for Three-dimensional Graph
Kang Yu-yun
(College of Information, Linyi Normal University, Shandong Linyi, 276005)
Abstract: Most online coursewares were realized with text and photo, and were short of interaction and third dimension. The interactive online educational system for three-dimensional graph based on VRML overcame these shortages. It was realized with AutoCAD, 3ds Max, VRML, ASP and Access. It produced a method for online education of similar course.
Key words: online education; three-dimensional graph; interaction; VRML