Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/ryanlarge13/physics-sym
- Owner: RyanLarge13
- License: mit
- Created: 2024-06-01T18:04:43.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-10-19T12:31:19.000Z (3 months ago)
- Last Synced: 2024-12-12T13:45:00.017Z (about 1 month ago)
- Topics: canvas, javascript, oop, partitioning-algorithms
- Language: JavaScript
- Homepage: https://ryanlarge13.github.io/Physics-Sym
- Size: 383 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.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 mobileSpacial 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)