AtlasPhysics

# โš›๏ธ AtlasPhysics ### Interactive Physics Simulations & Virtual Laboratories

An educational web platform designed to help high school students explore physics through interactive simulations, virtual laboratories, and real-time experimentation.


![HTML5](https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge&logo=html5&logoColor=white) ![CSS3](https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge&logo=css3&logoColor=white) ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black) ![MIT License](https://img.shields.io/badge/License-MIT-success?style=for-the-badge) ![Status](https://img.shields.io/badge/Status-Active-success?style=for-the-badge)

AtlasPhysics Banner

๐Ÿ“– Table of Contents


๐ŸŒ Overview

AtlasPhysics is a browser-based educational platform that transforms traditional physics learning into an interactive experience.

Instead of studying formulas in isolation, students can manipulate variables, perform virtual experiments, build electrical circuits, and immediately observe how physical systems respond.

The project was independently designed and developed as a personal learning experience while exploring modern web development, interactive graphics, and educational software.

Although AtlasPhysics currently focuses on concepts commonly taught in high school physics, its modular architecture allows additional laboratories and simulations to be integrated in the future.

The platform combines visual learning, experimentation, and real-time feedback to encourage deeper conceptual understanding rather than memorization.


๐Ÿ’ก Why AtlasPhysics?

Many students encounter physics as a collection of equations to memorize. While formulas are essential, they often become meaningful only after students have observed the physical phenomena they describe.

AtlasPhysics was created to bridge that gap by allowing learners to explore physics through direct interaction.

Instead of asking:

โ€œWhich formula should I use?โ€

students are encouraged to ask:

The goal is to transform learning from passive observation into active exploration.


๐ŸŽ“ Educational Philosophy

AtlasPhysics is built around a simple learning cycle.

Predict
   โ†“
Experiment
   โ†“
Observe
   โ†“
Measure
   โ†“
Analyze
   โ†“
Understand

Rather than presenting equations first, each laboratory encourages students to investigate physical systems, collect observations, and build intuition before introducing mathematical relationships.

This mirrors the way science is practiced: through curiosity, experimentation, and evidence.

Interactive simulations allow students to connect theoretical concepts with visual and measurable outcomes, making abstract ideas easier to understand and remember.


๐ŸŽฏ Educational Objectives

AtlasPhysics was designed with several educational goals in mind.

Objective Description
๐Ÿงช Interactive Learning Encourage students to explore concepts through experimentation rather than memorization.
๐Ÿ“Š Visualization Transform abstract physics concepts into dynamic visual experiences.
โšก Real-Time Feedback Update simulations instantly as parameters change.
๐Ÿ” Scientific Thinking Promote prediction, observation, measurement, and analysis.
๐Ÿ“š Conceptual Understanding Help students develop intuition before applying mathematical formulas.
๐ŸŽฎ Engagement Make learning physics more interactive and enjoyable.

๐Ÿ“Š Project Statistics

| Category | Current Status | |โ€”โ€”โ€”โ€“|โ€”โ€”โ€”โ€”โ€”-| | ๐Ÿงช Physics Simulations | 11 Interactive Simulations | | โšก Electrical Components | 6+ Interactive Components | | ๐Ÿงฉ Laboratories | Physics Laboratory & Electricity Laboratory | | ๐ŸŽฏ Educational Systems | Missions, Tutorials, Sandbox Learning | | ๐Ÿ“ˆ Analysis Tools | Real-Time Graphs & Electrical Analysis | | ๐Ÿ’ป Technologies | HTML5 โ€ข CSS3 โ€ข JavaScript โ€ข SVG โ€ข Canvas โ€ข Matter.js | | ๐Ÿ“ฆ Status | Active Development | โ€”

โœจ Features

AtlasPhysics combines multiple educational tools into a single interactive learning platform.

| Feature | Description | |โ€”โ€”โ€”|โ€”โ€”โ€”โ€”-| | ๐Ÿงช Interactive Physics Laboratory | Explore mechanics through real-time simulations and experimentation. | | โšก Electricity Sandbox | Build, edit, and analyze electrical circuits visually. | | ๐Ÿ”Œ Drag-and-Drop Circuit Builder | Assemble circuits using interactive electrical components. | | ๐Ÿ“Š Live Electrical Analysis | Instantly calculate voltage, current, resistance, power, and circuit topology. | | ๐Ÿ“ˆ Interactive Graphs | Dynamic graphs update continuously during simulations. | | ๐ŸŽฏ Mission System | Guided educational activities that encourage exploration and problem solving. | | ๐ŸŽ“ Interactive Tutorials | Step-by-step tutorials introducing laboratory tools and concepts. | | ๐Ÿ”„ Undo & Redo | Easily revert or restore circuit modifications. | | ๐Ÿ” Zoom & Pan Workspace | Navigate large electrical circuits smoothly. | | ๐Ÿ“ Grid Snapping | Components align precisely for cleaner circuit construction. | | ๐Ÿ”ฅ Realistic Simulation Mode | Simulate component failures and overload conditions. | | ๐Ÿ”Š Sound Effects | Optional interactive audio feedback. | | ๐Ÿ“ฑ Responsive Interface | Optimized for desktop and tablet devices. | | ๐ŸŽจ Modern Educational UI | Notebook-inspired interface designed for classroom learning. | โ€”

๐Ÿง  Learning Approach

Every AtlasPhysics simulation encourages students to:

  1. Predict the outcome.
  2. Perform an experiment.
  3. Observe the results.
  4. Measure physical quantities.
  5. Analyze the data.
  6. Connect observations with theory.

The objective is to develop conceptual understanding through experimentation rather than memorization.

๐Ÿงช Physics Laboratory

The Physics Laboratory is the core educational module of AtlasPhysics. It provides interactive simulations designed to help students visualize, experiment with, and better understand the fundamental principles of physics.

Instead of relying solely on textbook examples, students can manipulate variables, observe real-time changes, and discover how physical laws govern motion and energy.

Each simulation emphasizes exploration, allowing learners to test hypotheses, analyze outcomes, and develop intuition before applying mathematical formulas.


๐Ÿ”ฌ Available Simulations

Laboratory Description
๐Ÿš— Kinematics Investigate displacement, velocity, acceleration, and time through interactive motion simulations and dynamic graphs.
โš–๏ธ Newtonโ€™s Laws Explore the relationship between force and motion while visualizing Newtonโ€™s First, Second, and Third Laws.
๐Ÿงฒ Forces Analyze balanced and unbalanced forces, vector addition, and their effects on an objectโ€™s motion.
โšก Energy Observe the transformation between kinetic and potential energy while reinforcing the principle of energy conservation.
๐Ÿ›ท Inclined Plane Experiment with different slope angles and investigate how gravity affects acceleration along an inclined surface.
๐ŸŒ€ Springs Explore Hookeโ€™s Law by adjusting spring stiffness and displacement while observing elastic behavior.
๐Ÿ•ฐ๏ธ Pendulum Investigate oscillatory motion by modifying pendulum length, gravity, and release angle.
๐Ÿš€ Projectile Motion Launch projectiles using customizable velocities and launch angles while analyzing trajectories, range, and maximum height.
๐ŸŽ Free Fall Examine gravitational acceleration and compare different initial conditions in a controlled environment.
โžก๏ธ Vector Operations Visualize vector addition, subtraction, magnitude, direction, and resultant vectors interactively.
๐Ÿ“ˆ Interactive Graphs Generate real-time graphs that update dynamically as simulation parameters change.

๐ŸŽฎ Interactive Learning Experience

Each laboratory allows students to:

The focus is on understanding why physical phenomena occur, not simply obtaining numerical results.


๐Ÿ“Š Real-Time Visualization

AtlasPhysics continuously updates simulations as users interact with them.

Examples include:

This immediate feedback helps students connect theoretical concepts with observable behavior.


โšก Electricity Laboratory

The Electricity Laboratory is an interactive sandbox where students can design, modify, and analyze electrical circuits in real time.

Rather than drawing static circuit diagrams, learners build complete electrical systems using draggable components while immediately observing how voltage, current, resistance, and power respond to their modifications.

The laboratory emphasizes experimentation, allowing students to safely test ideas, make mistakes, and develop intuition through interactive learning.


๐Ÿ”Œ Circuit Builder

The circuit editor includes:


โš™๏ธ Available Components

Component Description
๐Ÿ”‹ DC Generator Electrical power source
๐Ÿ’ก Lamp Visualizes current flow and electrical power
๐ŸŸซ Resistor Demonstrates resistance and voltage drop
๐ŸŽš๏ธ Switch Opens and closes circuits
๐Ÿ“ Ammeter Measures electrical current
๐Ÿ“ Voltmeter Measures voltage

๐Ÿ“Š Live Electrical Analysis

AtlasPhysics continuously evaluates every circuit and displays:

Calculations update instantly whenever the circuit changes, helping students connect theory with practical experimentation.


๐ŸŽ“ Learning Features

The Electricity Laboratory also includes:

These features encourage exploration while reinforcing core concepts such as Ohmโ€™s Law, Kirchhoffโ€™s Laws, equivalent resistance, electrical power, and circuit analysis.


๐Ÿ’ป Technology Stack

AtlasPhysics is intentionally built using core web technologies to strengthen understanding of browser-based application development without relying on heavy external frameworks.

Technology Purpose
HTML5 Application structure and semantic layout
CSS3 Styling, responsive layouts, animations, and visual design
JavaScript (ES6+) Interactive logic, simulations, calculations, and user interactions
Matter.js Physics engine powering mechanics simulations
SVG Circuit rendering, diagrams, scalable graphics, and vector illustrations
HTML5 Canvas Real-time physics rendering, animations, and interactive visualizations

AtlasPhysics is primarily built using native web technologies (HTML, CSS, and JavaScript) together with Matter.js for physics simulation. SVG and HTML5 Canvas are used for rendering interactive visualizations and educational interfaces, while the application logic and educational features are implemented with modern JavaScript and browser APIs.


๐Ÿ—๏ธ Project Architecture

AtlasPhysics follows a progressively modular architecture.

The application is currently organized into separate HTML, CSS, and JavaScript files. Internally, the JavaScript is structured into logical subsystems (physics simulation, electricity laboratory, rendering, tutorials, missions, and user interface) and is being gradually refactored into dedicated modules to improve maintainability and scalability.

graph TD

A[AtlasPhysics]

A --> B[Home]

A --> C[Lessons]

A --> D[Physics Laboratory]

A --> E[Electricity Laboratory]

D --> F[Physics Simulations]

D --> G[Interactive Graphs]

D --> H[Visualization Engine]

E --> I[Circuit Builder]

E --> J[Electrical Analysis]

E --> K[Component System]

E --> L[Wire System]

A --> M[Shared User Interface]

A --> N[Assets]

A --> O[Educational Content]

The modular organization simplifies future expansion while keeping each subsystem independent and maintainable.


๐Ÿ“ธ Screenshots

Explore AtlasPhysics through its interactive laboratories, scientific visualizations, and educational tools.


๐Ÿ  Homepage

AtlasPhysics Homepage

The notebook-inspired homepage provides an intuitive entry point to the platform, allowing students to quickly access the Physics Laboratory and the Electricity Laboratory through a clean and engaging interface.


๐Ÿงช Physics Laboratory

Physics Laboratory

The Physics Laboratory enables students to explore mechanics through interactive simulations, manipulate physical parameters, visualize vectors, and observe real-time scientific graphs while experimenting.


โšก Electricity Laboratory

Electricity Laboratory

Students can build electrical circuits using drag-and-drop components, connect wires interactively, and immediately observe how electrical quantities change as the circuit evolves.


๐Ÿ“ˆ Interactive Graphs

Interactive Graphs

Dynamic scientific graphs update continuously during experiments, helping learners connect theoretical concepts with measurable physical behavior through real-time visualization.


๐Ÿ“Š Analysis Panel

Electrical Analysis Panel

The analysis panel automatically computes voltage, current, equivalent resistance, electrical power, energy consumption, efficiency, and other circuit properties, providing instant educational feedback.


๐ŸŽฅ Circuit Builder Demonstration

Circuit Builder Demonstration

This demonstration showcases the complete circuit-building workflow, from placing electrical components and connecting wires to running the simulation and observing live electrical analysis.

๐Ÿš€ Installation

AtlasPhysics is a browser-based web application built with standard web technologies and does not require any external dependencies or build tools.

Prerequisites

Before running the project, make sure you have:


Clone the Repository

git clone https://github.com/Saadbarch/AtlasPhysics.git

Navigate to the project directory:

cd AtlasPhysics
code .

โ–ถ๏ธ Run the Project

AtlasPhysics is a browser-based application and requires no build tools or package installation.

Choose one of the following options:

  1. Open the project in Visual Studio Code.
  2. Install the Live Server extension.
  3. Right-click index.html.
  4. Select Open with Live Server.

Option 2 โ€” Directly in Your Browser

Simply open the index.html file in any modern web browser.


๐Ÿ“‚ Project Structure

The project is organized into separate files for structure, styling, and application logic.

AtlasPhysics/
โ”‚
โ”œโ”€โ”€ index.html              # Main application entry point
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ LICENSE
โ”‚
โ”œโ”€โ”€ css/
โ”‚   โ””โ”€โ”€ style.css           # Global styles
โ”‚
โ”œโ”€โ”€ js/
โ”‚   โ””โ”€โ”€ main.js             # Application logic
โ”‚
โ””โ”€โ”€ docs/
    โ””โ”€โ”€ images/

The application currently consists of:

The JavaScript code is currently maintained in a single file while being progressively refactored into dedicated modules.

โš™๏ธ Development Challenges

Building AtlasPhysics involved solving several technical and educational challenges.

Designing Interactive Simulations

Creating simulations that are both visually engaging and educational required balancing realism with simplicity.

Every simulation needed to provide immediate feedback while remaining intuitive for high school students.


Building the Electricity Sandbox

The circuit editor became one of the most technically demanding parts of the project.

Challenges included:

Designing an editor that feels intuitive while accurately representing electrical behavior required many iterations and refinements.


Organizing the Codebase

As AtlasPhysics expanded, maintaining a clean architecture became increasingly important.

The project gradually evolved into independent modules responsible for:

This organization makes future development more manageable.


Educational Design

Developing educational software involves more than writing code.

Every feature was designed to answer questions such as:

These considerations shaped many design decisions throughout development.


๐Ÿ“š Lessons Learned

AtlasPhysics has been one of the most valuable learning experiences of my high school years. Throughout its development, I deepened my understanding of educational software design, iterative product development, interactive simulations, debugging, project organization, and the process of transforming an idea into a working educational platform.


๐Ÿ—บ๏ธ Roadmap

Version 1.x

Version 2.x

Long-Term Vision


๐Ÿค Contributing

AtlasPhysics is currently a personal project developed for learning and experimentation.

If you discover a bug, have a suggestion, or would like to discuss an idea, feel free to open an issue.

How to Contribute

  1. Fork the repository.
  2. Create a new feature branch.
git checkout -b feature/my-feature
  1. Commit your changes.
git commit -m "Add amazing feature"
  1. Push to your branch.
git push origin feature/my-feature
  1. Open a Pull Request describing your changes.

Please ensure that new features remain consistent with the projectโ€™s educational goals and coding style.


๐Ÿ“œ License

This project is licensed under the MIT License.

You are free to:

the source code in accordance with the terms of the MIT License.

See the LICENSE file for more information.


๐Ÿ™ Acknowledgements

Special thanks to:


๐ŸŒŸ Why This Project Matters

Physics is often introduced through equations before students have an opportunity to develop an intuitive understanding of the concepts those equations describe.

AtlasPhysics takes a different approach.

Rather than asking students to memorize formulas first, it encourages them to:

The platform is designed to make learning an active process where students discover relationships through interaction rather than passive observation.

Whether constructing electrical circuits, investigating projectile motion, or exploring Newtonโ€™s Laws, the emphasis is always on developing conceptual understanding through experimentation.


๐Ÿ“ˆ Project Highlights


๐Ÿ‘จโ€๐Ÿ’ป Author

Saad Barch

High School Student โ€ข Aspiring Software Engineer โ€ข Physics Enthusiast

AtlasPhysics was independently designed and developed as a personal project combining software engineering, physics education, and interactive simulation.

The project reflects a passion for creating educational tools that make scientific concepts more engaging, visual, and accessible.

If you have suggestions, feedback, or collaboration ideas, feel free to open an issue or submit a pull request.


## โญ If you found AtlasPhysics interesting, consider giving it a star! Your support helps motivate future development and makes the project easier for others to discover. **Thank you for visiting the repository!** **Happy Learning! โš›๏ธ**