Skip to content

Physics Virtual Lab (GravityGrid) is an interactive web platform for simulating core physics experiments like pendulum motion, projectile motion, and wave interference. Built with HTML, CSS, and JavaScript, it offers real-time visualizations, adjustable parameters, and responsive design for both learning and teaching physics concepts.

License

Notifications You must be signed in to change notification settings

UnitaryIron/GravityGrid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Physics Virtual Lab - Interactive Simulations

Table of Contents

  1. Project Overview
  2. Features
  3. Installation
  4. Usage
  5. Experiments
  6. Technical Details
  7. Dependencies
  8. Contributing
  9. License
  10. Contact

Project Overview

The Physics Virtual Lab is an interactive web-based platform designed to simulate fundamental physics experiments through accurate, real-time simulations. This application provides students, educators, and physics enthusiasts with a virtual laboratory environment to explore and understand complex physics concepts without the need for physical equipment.

The platform features multiple experiments with adjustable parameters, real-time data visualization, and export capabilities, making it an excellent tool for both learning and teaching physics principles.

Features

  • Interactive Simulations: Real-time physics simulations with accurate calculations
  • Multiple Experiments: Currently supports three core experiments with more to come
  • Adjustable Parameters: Customize all variables to test different scenarios
  • Data Visualization: Real-time graphing of experiment data
  • Responsive Design: Works on desktop and mobile devices
  • Modern UI: Clean, intuitive interface with interactive elements
  • Data Export: Export experiment data for further analysis
  • Fullscreen Mode: Focus on experiments without distractions

Installation

To run this project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/unitaryiron/gravitygrid.git
    cd gravitygrid
  2. The project requires no server-side components and can be opened directly in a browser. However, for best results:

    • Use a modern web browser (Chrome, Firefox, Edge, or Safari)
    • Ensure JavaScript is enabled
    • For local development, you may want to use a simple HTTP server:
     python -m http.server 8000
    

    Then open http://localhost:8000 in your browser

Usage

  1. Navigation:
  • Use the header menu to navigate between sections
  • The mobile-responsive menu automatically appears on smaller screens
  1. Running Experiments:
  • Select an experiment from the "Available Experiments" section
  • Adjust parameters using the controls panel
  • Click "Reset" to return to default settings
  • Use "Fullscreen" for an immersive experience
  1. Data Analysis:
  • View real-time graphs of experiment data
  • Toggle between different data visualizations
  • Export data for further analysis

Experiments

Currently available experiments:

  1. Pendulum Motion

Adjustable parameters:

  • Pendulum length
  • Mass
  • Gravity
  • Initial angle
  • Damping coefficient
  1. Projectile Motion

Adjustable parameters:

  • Launch angle
  • Initial velocity
  • Projectile mass
  • Air resistance
  • Gravity
  1. Wave Interference

Adjustable parameters:

  • Wave frequency
  • Amplitude
  • Wavelength
  • Number of sources
  • Phase difference

Technical Details

Frontend: HTML5, CSS3, JavaScript (ES6+)
Graphics: Canvas API for simulations and data visualization
Responsive Design: Flexbox and media queries
Fonts: Google Fonts (Roboto and Open Sans)
Icons: Font Awesome
Structure: Semantic HTML5 with clear section separation


Dependencies

This project uses the following external resources:

  • Font Awesome – For icons
  • Google Fonts – For typography
  • CDNJS – For hosting external libraries

All dependencies are loaded via CDN; no package manager is required.


Contributing

We welcome contributions to the Physics Virtual Lab!

To contribute:

  1. Fork the repository
  2. Create a new branch for your feature
    git checkout -b feature/AmazingFeature
    
    

Contributing

We welcome contributions to GravityGrid!

To contribute:

  1. Fork the repository
  2. Create a new branch for your feature:
    git checkout -b feature/AmazingFeature
  3. Commit your changes:
    git commit -m 'Add some AmazingFeature'
  4. Push to the branch:
    git push origin feature/AmazingFeature
  5. Open a Pull Request: Please ensure your code follows the existing style and includes appropriate documentation.

License

This project is licensed under the MIT License – see the LICENSE file for details.

Contact

For questions, suggestions, or support, please use the contact form in the application or reach out to:

Email: em-lijo@outlook.com GitHub: github.com/gravitygrid

About

Physics Virtual Lab (GravityGrid) is an interactive web platform for simulating core physics experiments like pendulum motion, projectile motion, and wave interference. Built with HTML, CSS, and JavaScript, it offers real-time visualizations, adjustable parameters, and responsive design for both learning and teaching physics concepts.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published