欢迎光临112期刊网!
网站首页 > 论文范文 > 教育论文 > 学前教育 > 基于WebGL的虚拟实验教学研究

基于WebGL的虚拟实验教学研究

日期:2023-01-23 阅读量:0 所属栏目:学前教育


  0 概述

   在学校教学中,大量的实验经常因为学校基础设施匮乏以及安全因素而没有开展[1]。然而,实验教学在概念的理解及实践技能的掌握方面至关重要[2]。因此,需要一种替代的教学方式克服上述问题。虚拟现实技术已经在教学中得到广泛的应用,尤其是在实验教学中。最近,有大量的提供虚拟实验环境相关的虚拟现实及Web3D技术研究,如CSU Chemlab[3]、VRLUP[4]及Lab 3D[5]等。

   最近几年,有关3D内容交付的软硬件技术不断改善。首先,强大的并行GPU减轻了CPU的处理负荷,其次是新一代的Web浏览器中采用的TraceMonkey、V8及SquirrelFish编译器显著改善了JavaScript的执行性能。尤其是由Khronos新近提出的WebGL[6]标准,将Web浏览器和GPU紧密地关联在一起了。这一切使得在Web上呈现复杂3D图形环境成为了可能,也使得基于Web的虚拟3D实验教学平台的设计有了新的选择。

   基于WebGL的网络虚拟现实技术利用它在技术上的优势,能够充分展示知识内容,激发学生的创造性,开展虚拟实验和进行廉价的技能训练,使得采用网络虚拟现实技术的网络教学可以取得很好的教学效果。

   本文提出了一种基于WebGL标准的虚拟实验教学平台的设计与实现方案。这在国内还是一个新的尝试。该方案避免了以往Web3D应用中插件/专有客户端软件安装所带来的安全及用户体验差的问题,可直接通过浏览器访问,具有较强沉浸体验的实验场景,进行相关实验操作的体验和学习。

  1 WebGL

   WebGL是Khronos组织提出的,如名称所暗示的,定义JavaScript类似针对C++的OpenGLAPI。WebGL紧紧结合OpenGL/ES2.0,并且使用GLSL作为着色器语言,意味着现有的应用的着色器核心可以在JavaScript/WebGL中重用。由于WebGL是一个规范,它由Web浏览器开发者实现它。目前,在最新的常用浏览器(Firefox、Chrome、Safari)都实现了现有WebGL版本。而且已有大量的JavaScript库正在开发以提供高级功能以创建3D图形应用。如WebGLU,它是WebGL与GLU的结合,提供封装,在场景中放置Camera或者提供简单的几何图形元素,其他的库如GLGE或SceneJS使用WebGL实现场景图形基于渲染及动画引擎。

  2 系统设计

   本文选用的基于WebGL的虚拟实验学习环境是化学实验。虚拟化学实验平台采用B/S架构设计,由具有WebGL解析能力的浏览器、Web服务器组成。系统采用Ajax架构设计,服务器端遵循MVC设计模式。

  

  

  

  

  

  

  

  图1 虚拟化学实验平台体系架构示意图

   客户端使用具有WebGL解析能力的浏览器客户端软件构成,包括UI接口模块及Ajax框架引擎模块。

   Web服务器由模型层、表示层及控制层及XML服务器及后端数据库构成。其中模型层由XML标记语言组成,定义了信息及信息的可视化,又分为模型XML和材质XML。模型XML定义了使用WebGL基元(如线、点、多边形等)构成的球体、立方体、圆锥体等对象。材质XML定义了对象的纹理属性。

   为了创建一个显示,需要大量的JavaScipt解析器来组合和渲染实验模型(数据文件)。在显示层定义的XML文件是光照、文本、及视觉效果XML文件。光照XML定义了光照类型、位置及方向。文本文件定义了对象匹配的文本,包括文本内容、大小和位置。视觉效果XML包括对象的颜色、着色以及一些基本的动画(如平移、旋转和缩放)。

   控制层为了实现与站点的交互,负责处理事件及转换表示。在控制层定义的XML文件是site.xml。该文件可以导入模型层和展示层内容,将所有的XML文件聚合到site.xml文件,因此,它可以控制整个实验场景的创建。开发者只需控制site.xml,通过创建相关的XML文件,如模型、摄像机、光照等,随后渲染site.xml文件,就可在网页中输出三维场景。

  3 系统实现

  3.1 架构设计的实现

  3.1.1 模型层

   在模型层,需要创建两个XML文件。一个是Shape.xml,另一个是material.xml。

   Shape.xml创建对象的基本形状。在WebGL中用drawElement(*)或drawArray(*)函数来绘制对象。为了绘制一个形状,开发者需要包括不同的关联:定点、标准坐标、纹理坐标及索引。XML文件如下:

  

   vertices coordinate

   vertices normals

   texture coordinates

   index of the vertices

  

   Material.xml存储纹理数据及表面颜色。包括纹理的源路径及纹理坐标。文件结构如下:

  

  

  

  3.1.2 表示层

   表示层包括光照、文本、视觉效果、摄像机及动画XML文件,动画XML定义实验场景中的对象的运动方式。

   光照XML定义场景中的光照,包括位置、颜色及方向。文件示例如下:

  

   1.0,1.0,1.0

   #FFFFFF

   1.0,1.0,1.0

  

   文本XML存储了文本的属性及键值。在文本XML中,包括有文本的字型、大小、位置、颜色、旋转及内容等。示例如下:

  

   1,0,0

   #FFFFFF

   1.0,1.0,1.0

  

  

   视觉效果、摄像机及动画等XML文件的设计的方式如此类推。

  3.1.3 控制层

   在控制层,将模型层及表示层的所有的XML文件组合在一起形成一个单一的site.xml文件。除此之外,一个场景结构包括场景属性(如背景颜色、摄像机及雾化等)。对于一个对象,可能包括来自模型层的形状和材质数据,同时也包括来自表示层的动画及视觉效果数据。形成的场景的结构示例如下:

  

  

  

  

  

  

  

  

  

  

  3.2 XML解析

   由上文可知,我们创建了一个实验场景的模型层、表示层及控制层的整个场景对象的数据结构。只需要解析site.xml文件就可以得到整个场景的数据结构。XML文件的解析示例过程如下:

   xhr = new XMLHttpRequest ();

   xhr.open (“GET”, url, false);

   xhr.send (“”);

   var xmlDoc = xhr.responseXML;

   var root = xmlDoc.documentElement.childNodes;

   XMLHttpRequest()函数发送XML http请求,然后通过open(“GET”,url,false)函数打开xml文件。Send(“”)函数将终止请求。这样我们就可以通过xhr.responseXML得到XML文档的内容。从而通过xmlDoc.documentElement.childNodes获得文档的根,应用解析函数就可以从根解析整个xml文档树。

  3.3 渲染处理

  3.3.1 WebGL渲染流水线

   WebGL支持OpenGL ES2.0,因此WebGL的渲染管道与OpenGL渲染流水线类似。在WebGL中,HTML5的canvas成员及内存管理使用JavaScript语言来实现,图2示例了WebGL的渲染管道过程。

  

  

  

  

  

  

  

  

  

  

  

  

  图2 渲染流水线示意图

  3.3.2 渲染处理

   在Html5中,新增了一个canvas成员。WebGL利用才成员进行3D图形的渲染。首先,WebGL通过canvas.getContext(“experimental-webgl”)函数获取OpenGL ES2.0上下文。根据上下文,可以灵活使用OpenGL图形API进行场景渲染。整个3D场景都在canvas中渲染。渲染过程如下:

   var canvas = document.getElementById(“canvas id”);

   initGL (canvas);

   initShaders ();

   initBuffers ();

   gl.clearColor (0.0, 0.0, 0.0, 1.0);

   gl.clearDepth (1.0);

   gl.enable (gl.DEPTH_TEST);

   gl.depthFunc (gl.LEQUAL);

   drawScene ();

  3.4 交互处理

   为了实现与用户的交互,可以使用web页面中内置的DOM Events的基本功能。DOM Events通过注册一个event监听器来实现,一般在页面加载的时候触发该监听器,可以实现对鼠标、键盘等用户操作事件的交互处理。

  4 系统实现实例

   应用本文建议的虚拟实验平台设计与实现方案,开发了一个虚拟化学实验平台示例。图3是虚拟3D化学实验室场景及容量分析实验场景示意图,学生通过该入口进入虚拟实验室,选择进行容量分析化学实验操作的学习,学生通过鼠标或键盘交互控制仪表操作按钮及量杯,混合注入不同液体,观察注入量与PH值的关系。

  

  

  

  

  

  

  

  图3 虚拟化学实验平台实例示意图

  5 总结与展望

   化学实验在教学中起着关键作用,虚拟化学实验平台是解决学校基础设施匮乏的有效解决方案。本文提出了基于WebGL标准的虚拟化学实验平台的实现技术,讨论了这个技术实现的可能性,描述了可获得的组件以及如何用这些组件创建一个交互式虚拟化方案。因为WebGL标准还在进一步发展过程中,这个技术方案还需要进一步的完善。

  

本文链接:http://www.qk112.com/lwfw/jiaoyulunwen/xueqianjiaoyu/215384.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学