Position-Based Dynamics