Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ryanlarge13/physics-sym

JavaScript Ball Physics Simulation
https://github.com/ryanlarge13/physics-sym

canvas javascript oop partitioning-algorithms

Last synced: about 1 month ago
JSON representation

JavaScript Ball Physics Simulation

Awesome Lists containing this project

README

        

# Physics-Sym

## Table of contents

- [Intro](#intro)
- [Features](#features)
- [Tech stack](#tech-stack)
- [Contributing](#contributing)
- [License](#license)

## Intro

This link will take you to the gh-pages deployment
where the first version of this small program
was published.

first-deployment

Physics Sym V1.0.0

The link below here will take you to a more
performant implementations where I rekder a few
thousand balls and allow for tilting actions
on mobile

spacial-partitioning

Spacial Partitioning Deployment

## Features

- **Drag and Drop** grab the balls and throw them around the screen, crash them into other balls and watch how the difference in size and elasticity effects the response
- **Tilt** on supported devices with tilt functionality, make the balls move around the screen by tilting your device

## Tech Stack

- **Vanilla JS** nothing special here other than an HTML5 canvas and vanilla js.
- **Modularity** this code base takes advantage of an object oriented design (OOP) to help separate concerns throughout the app from the main simulation logic down to each ball

## Contributing

**Clone the repository**

1. Fork the repository.
2. Create your feature branch (`git checkout -b feature/my-feature`).
3. Commit your changes (`git commit -m 'Add new feature'`).
4. Push to the branch (`git push origin feature/my-feature`).
5. Open a Pull Request.

# License

This projects is licensed under the MIT license. See the licensing here [MIT](LICENSE)