Skip to content

Physics2D is simple 2D physics engine that uses SAT and AABB collision detection. Friction and rotational physics are implemented too.

Notifications You must be signed in to change notification settings

riccardofeingold/2D-Physics-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔭 Physics2D

✏️ Description

Inside the Physics2D folder I have implemented my own 2D physics engine that includes collision detection with AABB as broad phase method and SAT for the narrow phase. Friction and rotational physics are implemented as well. This engine is able to handle collision with any convex shape. In addition to this, I have implemented ray casting to simulate the use of a Lidar sensor. If you're interested in knowing how I implemented my physics engine, feel free to read my blog post.

Watch the video

🔨 Upcoming Possible Features

  • Air drag
  • Collision detection with concave shapes
  • Path finding algorithm: Goal is to enable the developer to add autonomous agents that can find the shortest path to a target
  • Add RL algorithms such PPO and Q-Learning
  • Springs
  • Enable to use textures
  • Make it compatible for ROS Noetic and ROS2 Humble
  • Enable noise on Lidar sensor
    • Allow more customization of the Lidar sensor
  • Joint simulation
  • Soft body physics
  • 2D legged robots
  • Wheeled robots
  • Quadcopter
  • ✅ Implement a contact point class => currently the drawing of these points happens in the game.cpp file
  • ✅ Implement a text class that handles the drawing using the SFML library

About

Physics2D is simple 2D physics engine that uses SAT and AABB collision detection. Friction and rotational physics are implemented too.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published