- Overview
- Features
- Tech Stack
- Getting Started
- Usage
- Project Structure
- API Reference
- Screenshots
- Roadmap
- Contributing
- Authors
- Acknowledgements
- License
physics is a lightweight 2D physics engine designed for educational purposes and simple simulations. It allows users to create and manipulate objects in a virtual environment, applying forces, detecting collisions, and simulating realistic motion. The engine is built with performance and ease of use in mind, making it ideal for students, hobbyists, and developers looking to explore the fundamentals of physics in a fun and interactive way.
- Rigid Body Dynamics: Simulate the motion of solid objects under the influence of forces and torques.
- Collision Detection: Detect and respond to collisions between objects, including elastic and inelastic collisions.
- Gravity Simulation: Apply gravitational forces to objects, allowing for realistic falling and projectile motion.
- Customizable Properties: Define properties such as mass, friction, and restitution for each object.
- 2D Vector Math: Built-in support for vector operations, making it easy to calculate forces, velocities, and positions.
- Simple API: Intuitive API for creating and manipulating objects, applying forces, and running simulations.
- Performance Optimizations: Efficient algorithms for collision detection and physics calculations to ensure smooth simulations even with multiple objects.
| Layer | Technology |
|---|---|
| Graphics | Love2D (vesion 11.5) |
| Backend | Lua (version 5.4.8) |
love2d 11.5
lua 5.4.81. Clone the repository
git clone https://github.com/fevunge/physics.git
cd physics2. Run the simulation
love .... Soon ...
physics/
├── .gitignore
├── LICENSE
├── main.lua
├── paint.lua
└── README.md
... Soon ...
... Soon ...
Contributions are what make the open source community incredible.
Any contributions you make are greatly appreciated.
- Fork the repository
- Create your feature branch:
git checkout -b feat/feature-or-bugfix - Commit your changes:
git commit -m 'feat: add some amazing feature or fix a bug' - Push to the branch:
git push origin feat/feature-or-bugfix - Open a Pull Request
Please, follow Conventional Commits:
feat(scope): New feature
fix(scope): Bug fix
docs(scope): Documentation update
style(scope): Formatting (no logic change)
refactor(scope): Code refactoring
test(scope): Adding tests
chore(scope): Maintenance tasks
Made with 🧠 and 📚 by fevunge
⭐ Star this repo if you found it interesting!

