论文部分内容阅读
[摘要]针对当前网络技术的迅猛发展,提出建立基于Internet的虚拟制图模型室,并通过实例说明了虚拟现实模型的实现技术。
[关键词]虚拟现实 模型库 交互功能
一、引言
《工程制图》课作为一门重要的专业技术基础课,无论是在课堂教学还是课后作业,教学模型都是教学手段的重要组成部分,发挥着积极的辅助教学作用。但是,实物模型普遍存在明显的不足,这些在较大程度上直接影响了教学效果。通过普通的文字和图片显然也难以达到令人满意的效果。随着计算机软件技术和网络技术的迅速发展,网络化教学势在必行,通过一些三维动画制作软件以及VRML语言来构造网络虚拟模型室无疑是个不错的解决方案。
二、虚拟现实技术
虚拟现实(Virtual Reality)技术是一种能超越物理局限性和时空局限性的高级模拟手段。虚拟现实技术的基础是虚拟现实建模语言VRML(Virtual Reality Markup Language),它作为一种描述虚拟环境中场景的标准,可以在Internet建立交互式的三维多媒体的境界,可以对设定的模型和场景进行实时渲染和交互,从而营造出一种栩栩如生的逼真效果,使学生在教学和学习中获得亲临现场、身临其境的感觉。
VRML源代码编辑工具可以使用VRML Pad,这是一种功能强大的VRML开发设计专业软件,完全支持VRML2.0标准,而且还可以对资源文件、场景节点树等进行有效管理。为了查看VRML文件,需要一个VRML浏览器的插件,笔者使用Cortvrml。当鼠标停留在模型上时,利用浏览器插件可以实现旋转、平移、缩放等功能,从而达到全方位观看立体模型的目的。
三、虚拟模型的实现
建立虚拟现实基本模型的方法有两种:一种是完全用VRML代码编程实现,另一种是利用大型三维造型工具软件,如采用Solid Works和3DMAX等先进行造型,再将其文件转化为VRML文件格式。
下面以圆柱与圆锥相贯为例,用VRML代码编程实现建立虚拟模型。图1是VRML Pad中的场景节点树图。构建这个虚拟场景主要是完成一些节点的定义,主要的节点有Viewpoint视点节点、Cone圆锥节点和Cylinder圆柱节点等。Viewpoint视点节点的作用就是设置一个处于局部坐标系的指定位置,用户可以从该点来观察场景,在每一个观察点,浏览器获得图像就像是使用一部虚拟的取景器在屏幕上播放一样。Viewpoint视点节点有两个关键的域值,即Position和Orientations域值说明了一个三维坐标,用于当前坐标系中视点的定位;Orientation域值提供了一个视点绕其旋转的旋转轴,旋转角度指定了绕此轴旋转的数值。Cone圆锥节点和Cylinder圆柱节点分别是圆锥和圆柱的形体造型节点,通过对Geometry域值的参数设置可以获得相应尺寸的圆锥体和圆柱体,此外还可以对其材质属性进行设置以获得不同的颜色参数等。
由于篇幅问题,VRML程序的关键源代码省略。图2是VRML编程实现圆柱圆锥相贯的模型图。
四、虚拟模型交互功能的实现
交互功能是VRML的一个重要特点。正是因为交互,才能有身临其境的感觉。利用一些三维图形软件(如3DSmax、Pro/E等)先生成所需的三维形体后,利用路径语句及内插器节点、传感器节点来实现三维动画,让图形根据我们的需要产生相对运动,可以任意旋转、移动、变大、变小或改变颜色等。这些交互是通过感知器节点touch Sensor, Plane Sensor, Cylinder Sensor, Sphere Sensor, VisibilitySensor, Proximity –Sensor等实现的。例如,可用Touch Sensor节点为一个3D物体添加触动感知器,在浏览虚拟模型时触动该感知器,就可产生适当响应,如出现该模型的二视图或该模型的讲解等。可用Plane Sensor节点检测鼠标对象的动作,使得对象可在X-Y平面移动,但是其方位并不发生变化。这种交互功能在网络教学及工业技术领域有时甚至比三维动画效果还要有用。
下面是两圆柱体的相贯的VRML代码程序,说明圆柱位置发生变化时相贯线的变化过程。
#VRML V2.0 utf8
#//Cylinder move
Group{
children [
DEF B PlaneSensor{}
DEF B1 Transform{
translation 0 1 0
rotation 1 0 0 1.57
children [
Shape{
appearance Appearance{
material Material{
diffuseColor 1 0 0
}
}
geometry Cylinder{
radius 1.2 height 4
}}]}
DEF TS1 Transform{
translation 0 1 0
rotation 0 0 1 1.57
children [
Shape{
appearance Appearance{
material Material{
diffuseColor 0 0 1
}}
geometry Cylinder{
height 4
}}]}]}
ROUTE B. translation_changed TO B1. set_translation
通过以上程序生成的是两圆柱体相贯的模型。用户通过鼠标拖动平放的圆柱,可实时地改变两圆柱轴线的相对位置,从而可观察相贯线形状的变化情况,见图3。
五、虚拟模型库的实现
建立三维模型后,就要对虚拟模型的数据进行管理,即创建数据库管理系统(DBMS)。利用SQL Sever的强大数据库操作功能,可以实现模型数据的管理与存储。由于这些三维实体建模软件都已实现参数化,所以对同种类型的问题,只需要一次三维建模,便可动态改变尺寸,根据需要随时可对模型进行任意的放大、缩小、剖切、旋转、材质及环境渲染等操作,这种效果是传统模型无法达到的,学生的积极性和教学质量势必得到显著提高。
六、结束语
虚拟模型库将充分利用网络资源,突破了过去传统教学模式的局限
图3 用Plane Sensor节点建立交互模型性,改善了现有教学资源不足的问题,从而使教学手段多样化,将学习过程中抽象的知识简单直观的方式展示给学生,更好的培养了学生的空间想象能力和创新思维能力,提高了学习者的学习兴趣,我们相信用VRML构建的网上三维虚拟模型库将在网络远程教育中发挥巨大的作用。
参考文献:
[1]胡小强,虚拟现实技术[M].北京:北京邮电大学出版社,2005.
[2]冯开平,左宗义.虚拟现实建模语言(VRML)在图学教育中的应用[J].电化教育研究,2000,86(6): 46- 48.
[3]刘亚姝,许小荣等.ASP动态网站开发技术与实践[M].北京:电子工业出版社,2007.
(作者单位:陕西理工学院)
[关键词]虚拟现实 模型库 交互功能
一、引言
《工程制图》课作为一门重要的专业技术基础课,无论是在课堂教学还是课后作业,教学模型都是教学手段的重要组成部分,发挥着积极的辅助教学作用。但是,实物模型普遍存在明显的不足,这些在较大程度上直接影响了教学效果。通过普通的文字和图片显然也难以达到令人满意的效果。随着计算机软件技术和网络技术的迅速发展,网络化教学势在必行,通过一些三维动画制作软件以及VRML语言来构造网络虚拟模型室无疑是个不错的解决方案。
二、虚拟现实技术
虚拟现实(Virtual Reality)技术是一种能超越物理局限性和时空局限性的高级模拟手段。虚拟现实技术的基础是虚拟现实建模语言VRML(Virtual Reality Markup Language),它作为一种描述虚拟环境中场景的标准,可以在Internet建立交互式的三维多媒体的境界,可以对设定的模型和场景进行实时渲染和交互,从而营造出一种栩栩如生的逼真效果,使学生在教学和学习中获得亲临现场、身临其境的感觉。
VRML源代码编辑工具可以使用VRML Pad,这是一种功能强大的VRML开发设计专业软件,完全支持VRML2.0标准,而且还可以对资源文件、场景节点树等进行有效管理。为了查看VRML文件,需要一个VRML浏览器的插件,笔者使用Cortvrml。当鼠标停留在模型上时,利用浏览器插件可以实现旋转、平移、缩放等功能,从而达到全方位观看立体模型的目的。
三、虚拟模型的实现
建立虚拟现实基本模型的方法有两种:一种是完全用VRML代码编程实现,另一种是利用大型三维造型工具软件,如采用Solid Works和3DMAX等先进行造型,再将其文件转化为VRML文件格式。
下面以圆柱与圆锥相贯为例,用VRML代码编程实现建立虚拟模型。图1是VRML Pad中的场景节点树图。构建这个虚拟场景主要是完成一些节点的定义,主要的节点有Viewpoint视点节点、Cone圆锥节点和Cylinder圆柱节点等。Viewpoint视点节点的作用就是设置一个处于局部坐标系的指定位置,用户可以从该点来观察场景,在每一个观察点,浏览器获得图像就像是使用一部虚拟的取景器在屏幕上播放一样。Viewpoint视点节点有两个关键的域值,即Position和Orientations域值说明了一个三维坐标,用于当前坐标系中视点的定位;Orientation域值提供了一个视点绕其旋转的旋转轴,旋转角度指定了绕此轴旋转的数值。Cone圆锥节点和Cylinder圆柱节点分别是圆锥和圆柱的形体造型节点,通过对Geometry域值的参数设置可以获得相应尺寸的圆锥体和圆柱体,此外还可以对其材质属性进行设置以获得不同的颜色参数等。
由于篇幅问题,VRML程序的关键源代码省略。图2是VRML编程实现圆柱圆锥相贯的模型图。
四、虚拟模型交互功能的实现
交互功能是VRML的一个重要特点。正是因为交互,才能有身临其境的感觉。利用一些三维图形软件(如3DSmax、Pro/E等)先生成所需的三维形体后,利用路径语句及内插器节点、传感器节点来实现三维动画,让图形根据我们的需要产生相对运动,可以任意旋转、移动、变大、变小或改变颜色等。这些交互是通过感知器节点touch Sensor, Plane Sensor, Cylinder Sensor, Sphere Sensor, VisibilitySensor, Proximity –Sensor等实现的。例如,可用Touch Sensor节点为一个3D物体添加触动感知器,在浏览虚拟模型时触动该感知器,就可产生适当响应,如出现该模型的二视图或该模型的讲解等。可用Plane Sensor节点检测鼠标对象的动作,使得对象可在X-Y平面移动,但是其方位并不发生变化。这种交互功能在网络教学及工业技术领域有时甚至比三维动画效果还要有用。
下面是两圆柱体的相贯的VRML代码程序,说明圆柱位置发生变化时相贯线的变化过程。
#VRML V2.0 utf8
#//Cylinder move
Group{
children [
DEF B PlaneSensor{}
DEF B1 Transform{
translation 0 1 0
rotation 1 0 0 1.57
children [
Shape{
appearance Appearance{
material Material{
diffuseColor 1 0 0
}
}
geometry Cylinder{
radius 1.2 height 4
}}]}
DEF TS1 Transform{
translation 0 1 0
rotation 0 0 1 1.57
children [
Shape{
appearance Appearance{
material Material{
diffuseColor 0 0 1
}}
geometry Cylinder{
height 4
}}]}]}
ROUTE B. translation_changed TO B1. set_translation
通过以上程序生成的是两圆柱体相贯的模型。用户通过鼠标拖动平放的圆柱,可实时地改变两圆柱轴线的相对位置,从而可观察相贯线形状的变化情况,见图3。
五、虚拟模型库的实现
建立三维模型后,就要对虚拟模型的数据进行管理,即创建数据库管理系统(DBMS)。利用SQL Sever的强大数据库操作功能,可以实现模型数据的管理与存储。由于这些三维实体建模软件都已实现参数化,所以对同种类型的问题,只需要一次三维建模,便可动态改变尺寸,根据需要随时可对模型进行任意的放大、缩小、剖切、旋转、材质及环境渲染等操作,这种效果是传统模型无法达到的,学生的积极性和教学质量势必得到显著提高。
六、结束语
虚拟模型库将充分利用网络资源,突破了过去传统教学模式的局限
图3 用Plane Sensor节点建立交互模型性,改善了现有教学资源不足的问题,从而使教学手段多样化,将学习过程中抽象的知识简单直观的方式展示给学生,更好的培养了学生的空间想象能力和创新思维能力,提高了学习者的学习兴趣,我们相信用VRML构建的网上三维虚拟模型库将在网络远程教育中发挥巨大的作用。
参考文献:
[1]胡小强,虚拟现实技术[M].北京:北京邮电大学出版社,2005.
[2]冯开平,左宗义.虚拟现实建模语言(VRML)在图学教育中的应用[J].电化教育研究,2000,86(6): 46- 48.
[3]刘亚姝,许小荣等.ASP动态网站开发技术与实践[M].北京:电子工业出版社,2007.
(作者单位:陕西理工学院)