Why not just use the proper equation: v = dBodyGetLinearVelocity(body); speed = sqrt(v[0]*v[0] + v[1]*v[1] + v[2]*v[2]); If the sqrt is too slow then you could consider using the squared speed, or else a fast sqrt approximation function. Geoff