1、基于网络的计算机组成原理虚拟实验的设计与开发河西学院计算机系李晓霞摘要: 本文在讨论了用虚拟现实技术搭建计算机组成原理虚拟实验可行性的基础上, 进一步提出了虚拟实验的设计方案及实现方法。本虚拟实验主要采用VRML 和JavaScript 脚本语言编程实现, 并通过和网络相结合提高虚拟实验的可用性。关键词: 组成原理 ;虚拟;实验; 网络; VRML;虚拟仪器; 1 引言(1)虚拟现实技术虚拟现实(Virtual Reality, 简称 VR) 技术是20 世纪90 年代以来兴起的一种新型信息技术。作为人与计算机生成的虚拟环境进行交互作用的一种手段, 人们将虚拟现实技术看作是仅次于互联网的改变世
2、界未来的重要技术, 认为它不但将改变人类从事科学研究、技术设计和生产实践的方式, 而且为促进人的认识能力的全面发展提供了新的工具。众所周知, 实验技术是对科学理论的验证以及对未知领域探索的主要手段, 它与科学技术的发展紧密相连。实验仪器及实验环境是实验技术得以顺利实施的必要条件, 其重要性在科学研究、技术设计、生产实践和教育培训等领域得到了充分体现。从传统意义上来说, 实验技术主要依靠需耗费大量物质资源的实验设备和实验环境。随着网络的全球化以及计算机技术的进步, 利用虚拟的实验设备进行实验已成为可能并可以使我们通过网络共享远程实验资源, 使我们更好地利用信息时代所带来的资源优势。计算机组成原理
3、课程是计算机专业一门重要的专业基础课, 它主要学习的是计算机系统内部相应硬件间的工作原理, 围绕构成计算机( 单机) 的基本部件: 运算器、控制器、存储器、输入设备和输出设备, 来论述计算机的工作原理, 阐述各功能部件在整机中的作用, 由此使学生理解程序的自动执行过程。计算机组成原理的实验是该课程学习的一个重要环节, 可以帮助学习者体会计算机每一个算术计算的全过程, 了解计算机的信息存储以及逻辑运算, 掌握计算机硬件组成与设计、制造、调试和运行维护等多方面的技能。在此, 我们用虚拟现实技术搭建计算机组成原理的虚拟实验, 不仅可以弥补教学条件的不足, 避免实验仪器元器件的老化和损坏, 而且通过和
4、网络相结合, 彻底打破了空间和时间的限制。(2)虚拟仪器虚拟仪器就是利用现有的计算机配上相应的硬件和专用软件, 形成既有普通仪器的基本功能, 又有一般仪器所没有的特殊功能的高档低价的新型仪器. 这种技术实质上是充分利用最新的计算机技术来实现和扩展传统仪器的功能. 其特点在于: (1) 打破传统仪器的“万能”功能概念, 将信号的分析、显示、保存、打印和其他管理集中交由计算机处理; (2) 强调“软件就是仪器”的新概念, 软件在仪器中充当了以往由硬件甚至整机实现的角色; (3) 仪器由用户自己定义, 系统的功能、规模等均可通过软件修改, 可方便地同外设、网络及其他应用连接; (4) 鉴于虚拟仪器的
5、开放性和功能软件的模块化, 用户可以将仪器的设计、使用和管理统一到虚拟仪器标准. 可重复利用资源, 缩短系统的组建时间; (5) 由于实验软件的独立性, 在同一台微机上可以虚拟出数十种仪器来, 大大地节省了办学资金, 提高了设备的使用率.(3)虚拟实验虚拟实验就是利用鼠标的单击、拖动, 将微机上虚拟的各种仪器, 按实验要求、过程, 组装成一个完整的实验系统, 同时在这个系统上完成整个实验, 包括源材料的添加、实验条件的改变、数据采集以及实验结果的模拟、分析. 也就是说在计算机上通过虚拟仪器来完成实验与实验室做实验给学习者的效果是一样的.如果利用目前较为先进的通讯技术、网络技术, 将虚拟实验放在
6、网络上, 在WEB 中创建一个可视化的三维环境, 通过鼠标的点击、拖动等操作来完成实验, 这样就解决了远程教学中的实验教学问题. 同时, 在网上同一个实验可以由不同地点不同机器上的多个人来共同完成.2 用虚拟现实技术搭建组成原理虚拟实验的可行性既然是要模拟真实实验, 那么这种实验必须有真实感和可操作性。( 1) 只有具有真实感, 才能使人有一种身临其境的感觉, 全身心地投入到实验中去。就像在真实仪器面前一样, 考虑的是根据各个元器件参数、搭配组合成所需要的效果, 从而体会各个部件的功能, 认识各个部件, 理解算术运算和逻辑运算是如何通过芯片来实现的。( 2) 不具备可操作性, 则失去了实验的本
7、质。仅仅以图像或动画的形式演示, 学习者无法直接参与实验、获得感性认识, 因而不能达到实验的目的; 另外,不能进行操作也会使人失去主动性, 只能被动的接收, 那仅是课堂的延续, 不会提高学生的认识能力。综合以上两点, 利用虚拟现实技术来搭建计算机组成原理实验是可行的, 因为, 虚拟现实具有两个重要的特征沉浸感和交互性。沉浸感(Immersion)是指用户作为主角存在于虚拟环境中的真实程度。理想的虚拟环境应该达到使用户难以分辨真假的程度(例如可视场景应随着视点的变化而变化); 交互性(Interactivity)是指用户对虚拟环境内的物体的可操作程度和从环境得到反馈的自然程度(包括实时性) 。虚
8、拟现实与通常CAD 系统所产生的模型不同, 它不是一个静态的世界, 而是一个开放的环境, 它可以对使用者的输入做出响应。3 虚拟实验的开发工具普通意义上的虚拟现实, 需要大型计算机、头盔式显示器、数据手套、洞穴式投影、密封仓等昂贵设备, 一般的教育单位是不可能承受的, 资金不足严重制约着教育领域对虚拟现实的研究和应用。但随着科学技术的飞速发展, 虚拟现实技术出现了多样化的发展趋势, 根据“沉浸“程度的高低, 可划分为四种类型,即沉浸式虚拟现实:桌面式虚拟现实, 增强式虚拟现实和分布式虚拟现实。其中桌面虚拟现实是利用计算机的屏幕作为用户观察虚拟境界的一个窗口, 用鼠标、追踪球等外部设备操纵虚拟环
9、境中的各种物体。桌面虚拟现实技术的沉浸感虽然没有沉浸式虚拟现实高, 但由于技术相对简单, 需要投入的成本也不高,因此得到了广泛的应用。虚拟现实建模语言VRML (Virtual Reality ModelingLanguage) 是构建桌面虚拟现实系统的重要工具。VRML 是描述虚拟环境中场景的一种标准 , 它定义了三维应用系统中常用的语言描述, 如几何造型、材质、属性、纹理映射、层次变换、光源、视点、雾、动画、图像、视频和声音等, 并具有行为特征描述功能。它通过一系列交互传感器在三维环境和用户之间感知和交互, 使用户可以根据需要感知VRML 场景、改变场景中的造型状态、触发一个事件或开始一段
10、动画。它所具有的交互性, 使人们可以在网上构造一个真实物体或环境的对应物, 并通过VRML 浏览器在这个虚拟世界中漫游和交互。4 基于网络的虚拟实验的设计方案基于网络的计算机组成原理虚拟实验的设计主要包括两个方面: 一是虚拟实验的开发, 二是相关网站的建设, 前者是开发的重点和难点, 它主要包括虚模型和交互性设计两部分。( 1) 虚拟模型设计方案设计一个VR 系统, 首要的问题是创造一个虚拟环境 , 这个虚拟环境包括三维模型、三维声音等, 在这些要素中, 因为在人的感觉中, 视觉摄取的信息量最大, 反应亦最为灵敏, 所以创造一个逼真而又合理的模型, 并且能够实时动态地显示是最重要的。VRML
11、本身是一种造型语言, 又具有仿真和渲染的实时性, 因此可以创建一个实时、动态、逼真的虚拟现实系统。对于简单的造型, 图形代码可由人工编写;而复杂的模型, 则可以通过3D MAX 创建后进行转换。从运行速度上来说, 人工编写图形代码生成的三维场景要快。由于组成原理实验的芯片比较简单, 且大部分芯片的外观造型相差不多, 因此采用VRML 生成实验仪器的虚拟模型。( 2) 交互性设计方案交互性是此实验的重点, 无论正确错误都要与实际相符。VRML 允许用户向虚拟的世界中加入行为和交互手段。VRML 世界的交互模式就是, 一方面要确定所要进行的交互行为, 即以什么方式改变场景中的什么状态; 另一方面就
12、是如何实施这个交互行为, 既先要确定当前场景中的状态然后将变化传递到场景中去。VRML 中的一个节点用来完成某一特殊功能, 如构造一个几何形体, 在场景中加入声音, 链接其它场景, 设置灯光, 加入雾效, 放置背景图案的节点, 还有感应位置时间的传感器节点, 以及确定几何形体的位置、缩放、旋转、进行碰撞检测等节点。每一个节点包括一系列的域( Field exposedField ) 和事件( Event) ,包括EventIn 和EventOut 域, Field exposedField 用来保存定义该功能所需要的数值, 例如形状节点所包含几何体的大小、颜色等信息, 有许多节点的expose
13、d-Field 域可以动态地改变。5 基于网络的计算机组成原理虚拟实验的实现基于网络的计算机组成原理虚拟实验最终要达到的结果是通过打开嵌入相应网页的虚拟实验, 用鼠标点击完成输入、连线等操作, 即可观察实验结果。由于相关的网站建设比较简单, 因此我们只讨论虚拟实验的具体实现。通过前面的讨论可以知道, 本虚拟实验主要是使用VRML 结合 JavaScript 脚本语言进行开发, 具体可分为建模、检测、反馈、传感器和控制模块五个部分。( 1) 建模模块建模模块主要是获取现实世界组成部分的三维表示, 并由此构成对应的虚拟环境, 因此首先要构建实验的基本模型, 包括模型底面、构造芯片、排线、显示和输入
14、及控制端代码。构建的模型界面如图1 所示。图1组成原理虚拟实验的模型界面( 2) 传感器模块和检测模块传感器模块一方面接受来自用户的操作命令, 并将其作用于虚拟环境; 另一方面将操作后产生的结果以各种反馈形式提供给用户。检测模块主要检测用户的操作命令, 并通过传感器模块作用于虚拟环境。实验用到了动作传感器TouchSensor 和时间传感器TimeSensor 两个传感器节点, 由VRML 实现的传感器模块本身包括了检测模块, 通过触发的不同而有不同的信息输入输出, 如位置触发、接触触发等。通过ROUTE 节点来关联传感器模块和其它模块, 即ROUTE 是消息的传递导线 , 规定了消息的传递方
15、向,当一个模块接受到某个事件时, 它将根据新得到的域值, 去进行一次数据更新, 从而可能引发某个动作。通过ROUTE 绑定多个节点, 就可以创建出复杂的线路。( 3) 反馈模块反馈模块用来接受来自传感器模块的信息, 为用户提供实时反馈。本实验的反馈模块是用VRML 所提供的 Script 接口, 连接JavaScript 功能函数来实现的。函数接收传感器的触发信息, 来启动功能函数, 函数内部通过判断其他模块所传来的信息, 经过自身的计算处理来提供实时的反馈。( 4) 控制模块控制模块是对传感器进行控制, 使其对用户、虚拟环境和现实世界产生作用。VRML 语言本身仅是一种造型语言, 没有控制的
16、内容, 但是其提供了可控制各种造型的接口, 本实验控制模块的形成是通过JavaScript 脚本语言构成的。具有交互功能的模型所附带的传感器模块, 功能的体现是有条件的, 要满足所有的条件才能触发传感器的功能, 同时传感器的作用范围也随着试验环境的不同而不同, 其所发出的信息根据目的和对象的不同, 信息的类型也不一样。6 结论实践证明, 基于网络的计算机组成原理虚拟实验系统达到了: 在客户端仅需要处理浏览器和一些浏览特殊数据格式的插件以外不需要其他软件的支持, 分布在各地的学习者只要访问特定的网址便可以进入这个虚拟环境中进行学习。不仅所观察的视角可变,所观察的物体为实体的三维仿真, 而且虚拟实
17、验对象和学习者之间可以通过鼠标的点击操作进行交互, 从而完成实验操作。这不仅使学生不受时间、空间的限制, 而且可以方便地帮助学生对所学内容进行理解,提高了学习兴趣。虚拟实验的开发大大丰富了现代化教育的手段。本文作者创新点:本文将虚拟现实建模语言VRML 与JavaScript 脚本语言结合在一起, 并引入计算机组成原理虚拟实验的设计与开发中, 充分利用了这两种工具的功能和特点, 是一种简单、可行的设计、开发方法。本文给出了设计、开发的要点和主要过程, 开发出的虚拟实验完全达到真实实验的教学效果。另外通过和网络相结合也拓宽了虚拟实验的使用范围。参考文献:1曾国屏.虚拟现实一项变革认识方法的技术J
18、 . 自然辩证法研究, 1997,13(7)2鄢圣茂,许国荣等.基于计算机网络的倒立摆远程实脸平台研究J . 微计算机信息,20053胡小强.虚拟现实技术与应用M.北京:高等教育出版社,20044段新昱.虚拟现实基础与VRML 编程M. 北京:高等教育出版社,20045李红霞.基于网络的虚拟三维环境中人机交互实现途径J . 工程图学学报,20026王爱英.计算机组成与结构(第3 版)M. 北京:清华大学出版社,2000 7陆汝钤. 人工智能M . 北京: 科学出版社, 19958刘振宇. 虚拟环境中装配设计语义的表达、传递与转化研究J . 计算机学报, 2000 9阮秋琦. 基于LAN 的计算机视觉与虚拟现实集成模型研究J . 计算机学报, 2001 10吕汝元, 戴树玲. VRM及其在分布式多用户虚拟环境中的应用J . 系统仿真学报, 2000
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。