Position Based Dynamics is a simple simulation method that has been extensively used in games and the movie industry. It has also the reputation of being non-physical and too simplistic. Not many people know that two small changes have turned the toy into a serious competitor of state of the art simulation methods in the four categories as we describe here. To show this, we have created simulations that are written in Javascript, fully contained in the html pages and visible on github. The challenge is to replace the simulation part of the code with your own to beat PBD in any of the above categories.

The n-pendulum Github
2D particle fluid Github

We have also implemented a subset of the XPBD rigid body engine described here in a single small Javascript file PBD.js.


The following challenges use three.js for 3d visualization and PBD.js for simulation.
Chain of 100 bodies Github