Visual Lab Pro: Interactive Educational GUI & STEM Simulation
Visual Lab Pro is a modern, modular, single-page application (SPA) designed to bring abstract mathematical and engineering concepts to life. By aggressively pushing the boundaries of Scilab's Java Swing and OpenGL graphics engines, this project delivers a highly polished, interactive, and animated educational experience. It bridges the gap between static textbook formulas and dynamic physical reality by transforming Scilab into a real-time virtual laboratory.
- Scilab 6.x (Platform and Engine)
- Note: No external tools, modules, or third-party libraries were used. The entire application relies purely on native Scilab Java Swing and OpenGL rendering engines.
Visual Lab Pro acts as a central hub with four isolated modules: Physics, Circuit, Analytics, and Finance.
- Custom Routing Engine (SPA): Implements a custom virtual router to destroy and reconstruct UI modules dynamically, avoiding the memory overhead of spawning multiple windows.
- Thread-Safe Animations: Uses finite-pulse loops and sleep yielding to run real-time 60FPS procedural animations (e.g., continuous electron flow) without starving Scilab's single-threaded UI event queue.
- Procedural Geometry & Physics: Circuit schematics are mathematically drawn (including a sine-wave mapped resistor), and physics trajectories use algorithmic predictive tracing to draw paths instantly before launch.
- Smart Data-Tips & Feedback: Hijacks default OpenGL polyline events to display real-world units on curve apexes, and dynamically maps real-time power dissipation (P = V * I) to the RGB brightness of the circuit bulb.
- Enterprise UI/UX: Overrides Scilab's default gray Java Swing UI with a fully custom, persistent layered Dark Theme utilizing normalized coordinates for flawless window scaling.
- Download and install Scilab 6.x.
- Extract the
visual-lab-proproject folder. - Open Scilab and set your working directory to the
visual-lab-proroot folder. - In the Scilab console, execute the main entry file by typing:
exec("src/main.sce"); - The application will launch. Click on any lab module to begin interacting with the simulations.
Aloukik Das
- GitHub: https://github.com/aloukikdas
- LinkedIn: https://www.linkedin.com/in/aloukik-das-0a8685304
- Project Link: https://github.com/aloukikdas/visual-lab-pro
Developed for the FOSSEE Scilab GUIVerse Hackathon 2026
This project is licensed under the MIT License - see the LICENSE file for details.