Take the tour ×  I'm developing a game in which player can use
ropes to swing (just like what Spiderman or Bionic Commando did)
and I'm having problem implementing this behavior. Can anyone
help me how to do this, I mean physics formulas and etc. Till
now I've come up with 3 ideas. One is using spring, but it
consumes a lot of time and sometimes it is jumpy. The other two
are trying to calculate next step (one via calculating potential
energy and one via calculating torque) and both of them almost
crash whenever the actor is trying to swing.  Here is the code I
wrote to calculate torque:  float dx = Runner->getPosition().x -
ancher.x;  float dy = Runner->getPosition().y - ancher.y; float
t0 = atan2(dy,dx); //my current angle float k = ((dy) *vx - (dx)
* vy) / (dx * dx+dy * dy); //previus angular velocity k -=
gravity * cos(t0) *dt; // new angular velocity (gravity is
positive) t0 += k * dt - acc * cos(t0) *dt * dt / 2; // rotate
the rope float dx1 = r0 * cos(t0); // new position (r0 is rope
length) float dy1