Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A 3D Geometry Processing / Collision Detection / Physics Engine with zero dependencies

License

atlantis13579/Riemann

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Riemann is a 3D Geometry Processing / Collision Detection / Physics Engine with zero dependencies. This is a personal learning project, I want to write my own physics engine to understand some of the key algorithm that makes a physics engines works.

This project is named after the 19th-century German mathematician Bernhard Riemann, who invented Riemannian geometry and the concept of manifold.

Features

Rigid Body Dynamics Simulation

  • Simulation and Collision Detection for various shapes

    • Sphere
    • Oriented Box
    • Capsule
    • Cylinder
    • Convex Mesh
    • Triangle Mesh
    • Height Field
  • Collision detection

    • Raycast Test
    • Overlap Test
    • Sweep Test
    • Bounding Volume Hierarchy
    • Sweep and Prune
    • Gilbert–Johnson–Keerthi algorithm
    • Expanding Polytope algorithm
  • Numerical Method

    • Symplectic Euler / Implicit Euler / Verlet Integrator
    • Jacobian Matrix
    • Sequential Impulse Solver
    • Global LCP Solver using Projected Gauss-Seidel

Position Based Dynamics

Fluid Dynamics Solver

Vehicle Dynamics / Autonomous Driving Simulation

Examples

Rigid Body Dynamics Simulation for multiple boxes column corpsing

boxes

Dominoes

domino

Stable boxes stacking

stack

Mesh QEM Optimizer

qem

About

A 3D Geometry Processing / Collision Detection / Physics Engine with zero dependencies

Resources

License

Stars

Watchers

Forks

Languages