MathLab is a modern, high-performance virtual laboratory designed to visualize complex mathematical concepts. By leveraging WebGL and modern web technologies, it transforms abstract theories like 3D rotations, vector operations, and negative integers into a tangible, interactive experience.
Tip: Capture these screenshots in high resolution (1920x1080) for the best look.
The central hub of MathLab featuring a sleek, glassmorphic UI for seamless navigation.
A dedicated selection interface showcasing available experiments with categorized modules.
Real-time visualization of the 'Solid of Revolution' theory, turning 2D shapes into 3D volumes.
Exploring advanced geometry by rotating offset circles to generate 3D Toroids (donuts) with neon trails.
Interactive number lines and drag-and-drop financial simulations to master integer mathematics.
- 3D Geometry Engine: Built with
Three.jsfor precise rendering of geometric volumes with custom neon bloom shaders. - Dynamic Vector System: A custom SVG-based engine that treats number line operations as physical movements (vectors).
- Gamified Financial Literacy: An interactive UI to help students understand debts vs. assets using real-world analogies.
- Cyber-Neon UI: A high-end, responsive dark interface inspired by futuristic sci-fi aesthetics, built with
Tailwind CSS.
- Graphics: Three.js (WebGL)
- Styling: Tailwind CSS
- Logic: Vanilla JavaScript (ES6+)
- Icons: Lucide-Static
- Typography: Inter & JetBrains Mono
This project is in active development. My vision for the future of MathLab includes:
- 🧠 AI Integration:
- Implementation of an AI Tutor to analyze student errors and suggest personalized learning paths.
- Automated voice-over explanations for geometric transformations.
- 🔬 Advanced Experiments:
- Function Plotter: 2D and 3D graphing of algebraic equations.
- Physics Sandbox: Visualizing projectile motion on a coordinate plane.
- 🎨 Design & UX Enhancements:
- Advanced Theme Engine (User-defined neon color palettes).
- Fully accessible AR/VR mode using WebXR.
- 📊 Persistence Layer:
- User accounts to track progress and saved calculations via Firebase/Supabase.
- 📱 Native Mobile App:
- Exporting the lab as a native application using Capacitor or React Native.
Since MathLab utilizes PHP for server-side logic, it requires a local server environment to function correctly. Follow these steps to get started:
You need a local server environment that supports PHP. Recommended tools:
Navigate to your server's web root directory (e.g., C:/xampp/htdocs on Windows or /var/www/html on Linux) and run:
# Clone the repository
git clone https://github.com/aminmadaniofficial/MathLab.git
# Enter the project directory
cd MathLab- Start the Apache server from your XAMPP/Laragon control panel.
- Open your browser and navigate to:
http://localhost/MathLab/ - Ensure the entry file is
index.php.
Tip: If you have PHP installed globally, you can quickly preview the project by running
php -S localhost:8000inside the project folder and visitinghttp://localhost:8000in your browser.
Contributions make the open-source community an amazing place to learn and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch
- Commit your Changes
- Push to the Branch
- Open a Pull Request
Mohammad Amin Madani Professional Full-stack Web Developer 🌐 Portfolio (aminmadani.xyz) | 💼 LinkedIn
Created with ❤️ to make mathematics visible and fun.