Web3D技术及其在土木工程专业教学中的应用★

2014-11-26 06:30蒋汶宏汪健人
山西建筑 2014年25期
关键词:三维动画插件编程

蒋汶宏 汪健人 张 驰

(南京理工大学泰州科技学院,江苏泰州 225300)

0 引言

随着计算机技术和IT技术的不断发展,三维模型和三维动画被越来越广泛地应用于现代教育中,三维动画能够直观具体地展示教学内容,易于学习者理解和接受。然而,对于传统的三维动画,学习者只能被动地浏览,而不能对其进行交互操作,无法按照自己的意愿和特点进行主动的学习,学习者只能被动地接受知识,因而大大降低了教学效果。

Web3D技术是一种虚拟现实技术,采用Web3D技术建立的三维模型能够实时响应用户的操作,进行缩放、移动、旋转等,360°全方位地展示三维模型,不仅如此,还可以实现复杂的人机交互。Web3D技术与传统的三维动画技术相比,具有无可比拟的优越性,因此,将Web3D技术应用于土木工程专业的教学中,开发网络互动三维模型,有助于解决教学中的重点难点问题,从而提高教学效果和学生的自学能力。

1 Web3D技术概述

Web3D技术又称为网络三维技术,应用该技术,用户可以在网上浏览三维模型,并对其进行交互操作。Web3D技术最早可以追溯到VRML,VRML(Virtual Reality Modeling Language)即虚拟现实建模语言,出现于20世纪90年代初期;1998年,VRML组织更名为Web3D组织。

Web3D技术与传统的三维动画技术的主要区别在于:1)网络传输的是模型文件,其传输量远小于视频图像;2)由渲染引擎对模型进行实时渲染并动态显示;3)具有无限的交互性。Web3D的实现技术主要分为三部分,即建模技术、显示技术和三维场景中的交互技术[1]。三维模型的实时建模与动态显示技术是Web3D技术的基础,该技术可以分为两类:1)基于几何模型的实时建模与动态显示;2)基于图像的实时建模与动态显示。交互技术是Web3D技术的关键,Web3D软件能够直接实现常用的交互功能,复杂的交互功能则可以通过编程实现。

2 常用的Web3D技术

2.1 Cult3D

Cult3D是一种基于Java内核的Web3D技术,由瑞典的Cycore公司开发,用户可以将第三方开发的Java类嵌入其中,极大地增强了Cult3D的交互性和扩展性。为了提高开发效率,Cult3D的操作简单直观,开发环境十分人性化和条理化。

Cult3D包括 Cult3D Exporter Plug-in,Cult3D Designer和Cult3D Viewer Plug-in三个程序模块。Cult3D Exporter Plug-in用于将3DS MAX,MAYA等三维设计软件制作的三维模型转换为Cult3D Designer支持的格式。Cult3D Designer用于为模型加入交互功能,如缩放、移动、旋转等,导出后嵌入到网页或其他应用程序当中。Cult3D Viewer Plug-in是显示插件,安装该插件后,用户即可在网上浏览采用Cult3D技术制作的三维模型,并进行实时交互操作。

2.2 Viewpoint

Viewpoint是一种基于XML构架的Web3D技术,由美国的Viewpoint公司开发,它能够十分方便地与数据库和浏览器进行通信,因此得到了广泛的应用。用户仅需安装一个免费的插件,即可在网上浏览采用Viewpoint技术制作的三维模型,并进行实时交互操作。与Cult3D技术不同的是,Viewpoint自己制作三维模型,而不是导入其他软件制作的三维模型。

Viewpoint模型的三维多边形网格结构具有可伸缩性和流传输性。可伸缩性即采用Viewpoint技术开发的Web3D模型能够自动地依据用户电脑的性能和网络速度调整模型的精度及相关技术参数,以确保用户获得最佳的体验;得益于这种特性,一个高精度的Web3D模型就能够满足用户对不同精度的需求,同时还可以大大减少设计者的开发工作量。流传输性允许用户在下载模型数据的同时浏览Web3D模型,并与之交互。基于这两种优越的特性,Viewpoint技术得到了广泛的应用。

2.3 Java3D

Java3D是Java语言在三维图形领域的应用编程接口(API),由美国的SUN公司(2010年被Oracle公司收购)推出,利用Java3D提供的API,可以快速开发基于网页的三维动画、各种计算机辅助教学软件和三维游戏等。采用Java3D开发Web3D程序时,开发者仅需调用这些API进行编程,而客户端只需要安装标准的Java虚拟机即可浏览,而无需安装额外的插件。

Java3D把OpenGL和DirectX等底层3D技术封装在Java3D API中,提供了一个高层的面向对象的编程模型,从而使3D技术不再繁琐,并且可以加入到J2SE,J2EE的整套架构中,这些特性使得Java3D技术具有强大的扩展性。Java3D作为Java语言的扩展,具有平台无关性,即“一次书写,随处运行”[2];采用Java3D开发的Web3D程序可以访问所有的Java类,因此能够很好地与Internet集成。Java3D支持运行时装载器,因而能够兼容多种文件格式,包括各种厂商的自定义格式[3]。

2.4 X3D

X3D(Extensible 3D)是新一代的Web3D国际标准,由Web3D协会(Web3D Consortium)于2003年发布,它在VRML97的基础上发展进化而来,更加成熟和完善。X3D整合了正在发展的XML,Java,流技术等先进技术,包括更强大、更高效的3D计算能力、模型渲染质量和网络传输速度。

X3D采用XML(Extensible Markup Language)——可扩展标记语言描述三维实体及其行为[4],XML是平台无关的并且得到了广泛的支持和应用,XML具有显著的技术优势:拥有自定义的标记语言来描述结构数据、易于编程者和计算机理解;具有有效的数据约束等。X3D的组件化体系结构使其具有良好的可扩展性和可定制性,它可以根据市场应用和服务的需求添加组件以扩展其功能,并且可以定制一系列标准扩展组件以满足特定应用的要求。X3D支持开发广播/嵌入式应用,可以用于从手机到超级计算机的各种设备。

3 Web3D技术在土木工程专业教学中的应用

土木工程专业的主干课程包括混凝土结构、钢结构、高层建筑结构、建筑结构抗震等,这些课程的实践性很强,且构造要求很多,从而导致学生难学、教师难教[5]。因此,如何帮助学生加深对教学内容的理解,提高学习效率,提升教学质量,长期以来一直都是土木工程专业教学改革的热点。将这些课程中涉及的各种结构组成,尤其是一些节点构造制作成Web3D模型,用户可以任意缩放、移动、旋转模型,实现360°全景浏览,还能够对模型中各种构件的显示或隐藏进行控制。如此让学生直观且互动地学习,有助于解决教学中的重点难点问题,从而提高教学效果。

下面以采用Cult3D制作钢结构节点构造模型为例说明Web3D模型的制作方法及流程[6](见图1)。

图1 钢结构节点构造模型

1)三维模型的建立和输出。在AutoCAD中建立三维模型,导入3DS MAX中进行渲染,最后由3DS MAX输出为Cult3D Designer可以接受的.c3d文件格式。

2)为三维模型加入交互功能。在Cult3D Designer中加入各种触发事件和动作控制,以实现三维模型的交互功能。

3)三维模型的导出和发布。将完成的三维模型输出为.co文件格式,嵌入到网页当中。

4 结语

随着信息技术的高速发展,Web3D技术更加成熟和实用,应用Web3D技术开发网络互动三维模型,有助于解决教学中的重点难点问题,从而提高教学效果。土木工程专业实践性强,教学难度大,Web3D技术在土木工程专业教学中表现出独特的优势和潜力,拥有广阔的应用前景。

[1]邓文新.Web3D技术的教学研究[J].现代教育技术,2002(4):68-69.

[2]宋志坚,李文生,左焕琛.Web模式的医学断层图像三维重建[J].软件学报,2001,12(11):1727-1731.

[3]张 蒙,陈泽琳,温 武.基于VRML和Java的虚拟现实协同研究与设计[J].计算机工程与应用,2001,37(13):156-157,169.

[4]肖 虓,黄晓萍.Web3D技术及新一代标准 X3D[J].计算机与现代化,2003(10):39-42.

[5]张玉峰.“混凝土结构”课程教学改革的探讨[J].河海大学学报(哲学社会科学版),2002,4(sup):86-87,103.

[6]王春雨,张广文.Cult3D技术及其在陶瓷产品展示中的应用[J].中国陶瓷,2007,43(1):49-51.

猜你喜欢
三维动画插件编程
论三维动画特效数字模拟真实性与艺术性的结合
中国水墨画在三维动画设计中的应用
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
自编插件完善App Inventor与乐高机器人通信
基于jQUerY的自定义插件开发
MapWindowGIS插件机制及应用
让三维动画走进幼儿语言教学