// calculate difference in velocity
// TODO: share this code with BasicJoint and Arbiter
Vector2f relativeVelocity = new Vector2f(body2.getVelocity());
relativeVelocity.add(MathUtil.cross(body2.getAngularVelocity(), r2));
relativeVelocity.sub(body1.getVelocity());
relativeVelocity.sub(MathUtil.cross(body1.getAngularVelocity(), r1));
// project the relative velocity onto the spring vector and apply the mass normal
float normalImpulse = massNormal * relativeVelocity.dot(spring);
// // TODO: Clamp the accumulated impulse?