Software Packages to Support Electrical Engineering Virtual Lab

—The use of Virtual Reality Systems (VRS), as a learning aid, encourages the creation of tools that allow users/students to simulate educational environments on a computer. This article presents a way of building a VRS system with Software Packages to support Electrical Engineering Virtual Laboratories to be used in a near future in the teaching of the curriculum unit of Circuit Theory. The steps required for the construction of a project are presented in this paper. The simulation is still under construction and intends to use a three-dimensional virtual environment laboratory electric measurement, which will allow users/students to experiment and test the modeled equipment. Therefore, there are still no links available for further examination. The result may demonstrate the future potential of applications of Virtual Reality Systems as an efficient and cost-effective learning system.


I.
INTRODUCTION -SIMULATION IN EDUCATION The simulation is an educational tool that is used in a number of different domains. The success of simulation in education can be attributed to its unique qualities that set it apart from other pedagogical approaches. A simulation allows students to gain practical experience of the simulated process at no expense or any potential harm that may result from the authentic experience in real life. As a result, students are free to repeat experiences and experiment with different approaches, without being concerned with the consequences of any failure in the simulation. On the other hand, the relative ease with which the simulations are configurable, allows the educator/teacher to introduce a wide variety of unknown situations, so that the student can perform the experiment. Finally, because the simulations can act at a faster pace than in real life, students can therefore practice the process many times more than it would be feasible [1].
The general idea is to create a three-dimensional model (3Ds Max, Maya, Cinema 4D, SketchUp, Blender, LightWave, or any other 3D tool) and then export it to Wirefusion [2]. With Wirefusion there is the possibility to add some interactivity and/or animations. However, all animations must be built beforehand in the source program of the 3D model [2].
In this case the idea is to build it as a 3D lab environment (for Measures and Instrumentation) where the components can be observed and handled. The aim is to build simple electrical schematics that subsequently can be changed in their values, thus showing new results.

A. Externally Referenced Files (Xrefs)
Two types of externally referenced files can be used (XRefs): XRef objects and XRef Scenes. The use of these external references allows the programmer to build an animation, where modeling, materials, processing and motion controllers can be manipulated into separate files by different programmers/designers [3]. This way of referencing can make it much easier to deal with large files, through the use of proxy objects. Proxy objects, or surrogate (substitute) objects, they represent other objects. A proxy is an object that can contain another object and expose the same interface. This proxy can be used in the same way as the original object, but it may contain extra features. It can be an important tool for object-oriented programming. Externally referenced objects, XRef objects appear in a current scene, but actually they are referenced from outside of 3Ds Max files (if present). Thus, the source objects are protected from modifications in the XRef objects. Updates or changes made to the original objects are also updated in the destination file where the XRef appears.
One of the new features of 3D Studio Max is the ability to include XRef objects in a scene. This means that it is possible to replace a highly complex subject with a low resolution proxy object. This will improve the time to update the scene (scene refresh time) because the subject of low resolution will redraw faster than the subject of high resolution. However, when the rendering of the scene is made, all the details of a high resolution mesh can be seen. A limitation of the XRef is their inability to use a grouped object as an XRef [3].
An XRef can be seen as a kind of function of instances that will work on several scenes. A main scene is constructed and in that scene the XRef object can be used to load objects from a scene already saved. It means, for example, that if a subject "car" is composed, this file will be stored in the hard disk. When a new project is started, if it is desired, it will be possible to add the "car" carried out previously. It only needs to add an XRef object and inform the XRef object where to find the scene of the car in the hard disk.
The position, scale and rotation of objects from the scenes of reference shall be made at the exact moment that they are placed in the main scene. Once an object is placed in the main scene, it can be animated as any other object. The referenced object will behave as if it were an offspring object of the real XRef object. Thus, the XRef objects behave as normal objects; can be deformed by de-SPECIAL FOCUS PAPER SOFTWARE PACKAGES TO SUPPORT ELECTRICAL ENGINEERING VIRTUAL LAB formers and may be affected by generators too. Thus, the idea is that individual scenes and objects can all be gathered in a main scene for rendering, animation, etc. If some other programmer is working on the same project and saves that scene, then any other scene, using the XRef referencing of that scene, will be updated accordingly. The referenced scene has no knowledge of the main scene.
When working on a project with other developers, the use of the XRef represents a great advantage. A programmer can focus on one main scene and another programmer can change a part of a template and/or add objects. After the file is saved, the scene of the main file will be updated, in accordance with the second scene [3][4].
The use of XRef objects and scenes allows several people to work collaboratively on the same objects, without having to wait for the objects to be finalized. Objects can be selected to be automatically updated, as soon as the changes are saved in the original file, or manually updated on request. There is usually a button to do the merge of the referenced objects in the scene, such as normal objects and/or tools, to facilitate the conversion of objects from the scene in the referenced objects ( Fig.1).

B. Simplygon/VizUp -reduction of models
WireFusion is a professional authoring tool to create interactive plugin-free Web3D presentations. The development is done by visually connecting preprogrammed objects or by coding in Java. Flash is supported and can be combined with 3D models [5].
Many of the models that are created with the help of 3D modeling tools, as well as some models converted from CAD software can be very complex. These models may consist of hundreds of thousands, even millions of polygons and are practically useless for processing in real-time visualization systems [6][7][8].
It is important to reduce and repair 3D models and CAD files before being imported to WireFusion, a feature that has been requested extensively by users in this kind of work.
Simplygon is a powerful and precise polygon repair and reduction tool. This software can reduce and repair 3D models while at the same time preserving visual quality. Simplygon is usually used in pre-processing models for simulation, real-time visualization and distribution [9].
Another software is the VizUp Ultimate, designed for optimization of complex 3D models (CAD/CAM/CAE systems and others) for real-time visualization. It is a 3D Figure 1. References3D Studio MAX with XRef scenes reduction and optimization tool that speeds rendering and provides enhanced control over a 3D model visual quality. The product allows to achieve the finest quality, in optimization and polygon reduction, which can be compared to the manual work of a designer. With VizUp it is possible to obtain a polygon reduction and optimization system that enables to reduce the number of polygons in a complex 3D model and optimize its geometry (Fig. 2 and 3).
The end result of such compression is a model with a well-balanced level of details and size, which can be used in virtual reality and real-time visualization systems [10]. To lower the detail level of a model, you need to perform reduction. The resulting reduced model will be visually very similar to the original model, but it will contain fewer polygons. These programs give the capability to perform model reduction only once, to instantly receive reduced models with any level of detail (LOD) needed. With the help of this type of software, an optimal balance can be reached between the necessary detail level and the size of 3D models. It can also be used to reduce the number of polygons for 3D models used in virtual reality and real-time visualization systems. Decreasing the size of 3D models stored on the Web lets users and customers download them much faster.
III. HOW TO WORK WITH WIREFUSION A typical work flow consists of loading a 3D model, configuring/optimizing the 3D model and lastly adding widgets and logic to the presentation. The 3D model is created in a 3D modeling program, like 3Ds Max, Maya or any other 3D modeling program that can export as X3D or VRML. The resulting presentations can run in browsers supporting Java 1.1+. The development is done by visually connecting preprogrammed objects or by coding in Java [5].
WireFusion is a software package that represents a very powerful technology that allows fast creation of interactive 3D presentations for the internet. This software is typically used by designers, programmers, architects, product companies and especially for the internet marketing and e-commerce, creating 3D settings and architectural projects. WireFusion presentations are also used for e-learning or computer based training (CBT), training of sales teams, support teams and customer support.
In the development of educational software, an authoring system is a program that allows a non-programmer to easily create software with some programming features. Programming features are embedded but hidden behind buttons and other tools, so the author does not need to know how to program. Generally authoring systems offer many graphics, interaction, and other tools necessary for educational software [6].
It can use the preferred 3D authoring tool , such as 3Ds Max, Maya, Cinema 4D, SketchUp, Blender, LightWave, or any other 3D tool able to export to X3d or VRML, to enable the creation of animation in 3D models and 3D worlds. They import the 3D contents for WireFusion and have it published on the Web.
With the visual interface it can be relatively easily to add any type of advanced functionality and interactivity to presentations, even without any prior skills or programming script. It can also integrate streaming video and audio. Streaming is a way to distribute multimedia information over a network through packages. It is often used to distribute multimedia contents over the Internet. Streaming media information is not usually achieved by the user who is receiving the stream (Fig. 4). No browser plug-in is needed to view presentations. WireFusion's Web player is a Java applet that is downloaded to the viewer's browser as well as other files on the Web server, using the HTTP protocol. Applet is a software application that runs in the context of another program (such as for example a Web Browser); an applet usually performs specific functions as well. There is therefore no need to download and install any browser plug-in to view a presentation of WireFusion, it just needs a Java enable browser 1.1 (or higher) [5].
When using a browser based on Java technology to display a page that contains an applet, the applet code is transferred to the system and executed by the browser Java Virtual Machine (JVM).

IV. HOW TO CREATE A PRESENTATION WITH WIREFUSION
Whether the user wants to be a 3D designer, or a programmer, there are some steps to follow when creating a new presentation in WireFusion. These steps should begin by [5]: 1. Defining what the presentation wants to accomplish. 2. Establishing how the presentation will work for people who seek it. 3. Designing resources (3D models, audio, images, movies, Flash etc) needed in third-party programs. 4. Selecting the main objects of WireFusion that are needed. 5. Creating and developing the presentation by dragging and dropping objects on the desktop view of script (Script Area) and then linking the various objects (all within the environment of WireFusion). 6. Testing the presentation after each role has been built and implemented. 7. Saving the project. 8. Publishing the presentation as a Java applet, or, optionally, a Java application, Java component or animation.
WireFusion is not based on a timeline, as many other tools for Web animation. However, it can use time as a parameter to run an animation or having events run by a certain specific order.

A. Development cycle of presentations
It is generally considered that the development cycle of presentations can be done in three phases: The first phase is to create all the resources that will be required: 3D models, images, movies, sound, etc., that can SPECIAL FOCUS PAPER SOFTWARE PACKAGES TO SUPPORT ELECTRICAL ENGINEERING VIRTUAL LAB be done in other programs, such as Autodesk ® 3Ds, Adobe Photoshop ®, CINEMA 4D ® R 11.5, or similar.
The second phase is to import these capabilities to WireFusion Presentations and through visual means develop presentations.
The third and final stage is to introduce the presentations on the Web, or as offline presentations.
Programmers working with JScript or JavaScript (scripting implemented in browsers) can use this program to interact on the Web pages where these same WireFusion presentations are published. Java programmers can also add functionalities directly in WireFusion, due to a Java object (object in WireFusion) that allows you to compile Java source code. The Java object is also used for WireFusion APIs, which allows advanced programming functions and 3D scenes. An API for WireFusion and a 3D API enables developers to create more advanced and logical functions, using the Java programming language) [5].

V. DEPLOYMENT OF A PRESENTATION -HAVE IT
PUBLISHED ON THE WEB Adobe ® Flash ® Professional CS 5.5 software is the industry-leading authoring environment for producing expressive interactive contents. It creates immersive experiences that present consistently to audiences across desktops, smartphones, tablets, and televisions [11].
These files are of extension ".swf" (from Shockwave Flash File). They can be viewed in a web page using a browser that supports it (usually with special plug-in) or through Flash Player, which is a read-only application lightweight distributed free by Adobe. Flash manipulates vector and raster graphics to provide animation of text, drawings, and still images. It supports bidirectional streaming of audio and video, and it can capture user input via mouse, keyboard, microphone, and camera. Flash contains an object-oriented language called ActionScript and supports automation via the Javascript Flash language (JFSL).
Using Flash tends to break conventions associated with normal HTML pages. Java applets are used both to create interactive visualizations and to present video, three dimensional objects and other media. Java applets are more appropriate for complex visualizations that require significant programming effort in high level language or communications between applet and originating server.
VI. PUBLISH WITH JAVA WEB START Java is a programming language that can run any type of program. Presentations can be published as Java Web Start Applications, using adjustable memory limits. Java is a programming language and a computing platform released by Sun Microsystems in 1995. It is the technology that enables many programs of the highest quality, such as utilities, games and business applications, among many others. The Java language is compiled into a bytecode that is executed by a virtual machine [12].
The Java language was designed for the following objectives: 1. Object orientation -based on the model of Simula67; 2. Portability-platform independence network; One of the main characteristics by which Java became so famous, is that it is a platform-independent language. This means that if we make a Java program, it can run on any computer in the market. It is a significant advantage for software developers as before you had to make a program for each operating system (Fig.5).

VII. CONCLUSION
This article presents a way of building a VRS system, with the use of Software Packages to Support Electrical Engineering Virtual Laboratories, used in the teaching of the curriculum unit of Circuit Theory. Software packages 3D Studio Max, Cinema 4D, Autocad, VizUp, Wirefusion, Flash and Java were used and briefly described in this paper. These accurate programs are not required to get a good tool. There was the intention to describe the chain of programs that one can use to support any interactive educational tool. Any of the above mentioned software packages are a powerful instrument, with a versatility that can make it easy to use. With well-defined objectives for each of their specific nature, it was intended to give an indication of how to model different tools and show how they can harmonize to achieve a common goal.