当前位置:首页 期刊杂志

基于WebGL的电路实验仿真系统研发

时间:2024-05-04

魏红君 阎俊 谢薇

(1.河北工程大学 河北省邯郸市 056000 2.河北建筑工程学院 河北省张家口市 075000)

1 引言

电路实验是一门基础性实验课程,尤其对于理工类专业非常重要。该课程实践性非常强,通过培养学生的动手能力,巩固理论知识提高工程技能。在教学过程中要求学生始终在电路实验操作台上进行实际电路的搭接和测试。这样的教学模式会遇到诸如教学活动受时空限制过大、实验室资源不足、实验经费匮乏等问题,导致实验效果差,达不到理想的教学目标。因此,研发一套基于Web 的电路实验仿真系统意义重大。通过该系统,师生可以通过浏览器,在形象逼真的虚拟环境下开展在线教学,突破了时空限制,降低了教学成本,激发了学生的学习兴趣,提高了教师的教学热情。

2 仿真技术概述

2.1 仿真

仿真技术最早出现于19 世纪40年代,在计算机领域直到19世纪80年代中后期虚拟仿真一词才被正式提出,也正是计算机技术的发展,大大促进了仿真技术的进步。现代的虚拟仿真就是利用计算机技术、信息处理技术、人机交互技术等为人类提供直观的、真切的数据计算与信息处理平台。通过虚拟仿真过程,人类可以将模型原始数据转化为更具应用价值的、更具实用意义的信息,从而进一步挖掘知识、创造智慧,为人类认识客观规律、改造客观世界提供重要的决策参考和行动指南。

实现仿真的要素包括三个:模型、方法和工具。

(1)模型,模型就是高度抽象的现实对象。它是实现仿真的首要要素,模型质量的好坏直接决定着仿真结果的质量好坏,甚至决定着仿真工作的成败。根据不同的应用场景或价值目标,可以建立客观事物的数学模型、物理模型、结构模型等等,计算机仿真的目的一般是为了评估系统行为或活动特征,因而数学模型仿真更为广泛。

(2)方法,方法就是根据模型的属性特征、行为规律等进行仿真实验时采取的方式、手段、途径等。仿真方法的优劣决定着仿真结果质量的优劣,科学合理的仿真方法能够保证实现模型构建时的价值目标,仿真结果能够高度接近真实事物的行为特征或运动规律,保证仿真结论的客观性、真实性、权威性。

(3)工具,广泛地讲仿真工具包括实现仿真时所使用的人力、物料等。仿真工具的优劣决定着仿真效率的高低,也决定着仿真体验的好坏。物料角度来说,计算机实现的仿真,其工具包括硬件设备和软件程序。硬件性能高,例如计算速度快、精度高,存储容量大、数据吞吐率高等,不但可以加快仿真结果的形成节约时间,也能改善仿真过程的交互体验,让人类可以充分参与到仿真过程中。仿真软件也决定着仿真过程的效率和仿真结果的质量,其中包括,仿真算法、仿真语言、仿真程序及仿真软件工具库等。

2.2 WebGL

图1:WebGL 应用架构

图2:电路实验仿真系统组件语义分析

WebGL 全称为Web Graphics Library,即网页图形库。是一种在网页环境下绘制图形的技术标准和协议。网页开发人员可以利用网页编程语言JavaScript 结合OpenGL 图形库为HTML5 Canvas 提供二维或三维图形参数,在浏览器下利用底层图形硬件加速功能进行渲染,速度快、无需第三方插件即可实现复杂的场景渲染和数据的可视化,解决了浏览器传统插件机制带来的诸多问题,实现了模式的标准化、环境的统一化,系统的跨平台等。WebGL 的这种突出优势为本应用的实现提供了技术保障。另外,它也是一个开源标准,所有开发者均可免费使用,降低了开发成本,其生成的图像质量也非常高、交互性好,为本系统的用户友好性提供了保障。WebGL 应用架构如图1 所示。

3 电路实验仿真系统

3.1 仿真框架

为了更接近真实实验环境,尽量还原实际实验场景,首先对电路实验课程的教学大纲、实验内容、实验特点进行了研究,对实际实验场景、实验设备、实验器件进行了分析,最终确定以基于语义的组件化的方式建立实验仿真模型。在电路实验场景中,需要组件化的语义对象很多,包括:三相交流电路、测量仪表组、直流电路单元、RC 选频网络、一阶二阶电路、谐振电路等等,这些组件的组合构成了实验系统,如图2 所示。

图3:电路实验仿真系统功能模块

图4:直流电路实验仿真组件渲染效果

仿真框架的构建,以实际实验台实验模组为基本语义单位,这样既可以向上聚合成为整体的实验场景,也可以向下分解为更小的器件级实验语义单位,从而构成三层语义模型,为系统的实现提供灵活多变、高度适应的组织形式。

3.2 模块功能

电路实验仿真系统是基于B/S 模式的,分为浏览器端和服务器端,浏览器端负责界面呈现、图形渲染、数据交互等工作,服务器端负责数据分析计算、文件管理、用户管理等工作,系统总体功能模块如图3 所示。

按照教学内容及职责的不同,结合实际应用情况简化管理、使用和学习成本,系统将用户分为学生、教师两种角色。教师在该系统中负责实验内容组织、实验数据管理、实验作业批改、实验成绩评价、用户账户管理等工作,学生主要进行实验指导内容学习浏览、仿真过程交互、实验数据记录、实验内容测评等操作。

3.3 构件开发

电路实验仿真系统采用基础构件加语义组件的模式进行开发,涉及到的开发环节多、技术难度大,系统容错性、稳定性要求高,因此,选择一个合适的开发工具十分重要。本文在设计和实现中采用基于WebGL 的Three.js 框架进行开发。该框架是WebGL 的更高一层的封装,提供了丰富的功能,使用方式简单便捷,学习成本低,其在系统中的应用解决了使用原生WebGL 开发难度大、开发效率低的问题。该框架使用JavaScript 语言编写,浏览器兼容性好,支持面向对象的开发,支持模型数据的导出、矩阵数据的自动生成,材质、灯光、着色器等的参数化创建等,为系统的快速开发和部署提供了保障。

4 应用实现

电路实验主要面向大学本科理工类专业学生,是配合电路基础类课程教学的实践环节。传统的教学过程是学生对实验内容提前进行书面预习,然后集中到实验室,先由实验教师讲解、演示实验过程,说明实验注意事项,再由学生完成实验操作、提交实验数据和实验报告。这种过程有几个显然的弊端:

(1)预习内容的形式不直观,无法动手实践进行体会,知识掌握不牢固;

(2)实验场地、实验设备要求足够多,时空依赖性高、实验成本高;

(3)实验性质本身决定了实验过程中设备、器件损坏的可能性高。

本文的研发解决了以上问题,可以跨时空、低成本、高效率、逼真直观地展开电路实验教学。部分应用实现如图4 所示。

5 结束语

基于WebGL 设计开发的电路实验仿真系统弥补了传统实验模式的许多不足,为跨时空、低成本、高效率地开展实验教学提供了一个强有力的工具和平台。有助于学生便捷直观地进行实验学习,提高实践能力,激发学习兴趣;有助于教师降低实验教学成本,提高实验教学效率、保证实验教学质量。仿真实验教学必将成为实验教学技术新的研究热点和发展方向。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!