def ComputeAngVelRel(self, ornStart, ornEnd, deltaTime, bullet_client):
   ornStartConjugate = [-ornStart[0], -ornStart[1], -ornStart[2], ornStart[3]]
   pos_diff, q_diff = bullet_client.multiplyTransforms([0, 0, 0], ornStartConjugate, [0, 0, 0],
                                                       ornEnd)
   axis, angle = bullet_client.getAxisAngleFromQuaternion(q_diff)
   angVel = [(axis[0] * angle) / deltaTime, (axis[1] * angle) / deltaTime,
             (axis[2] * angle) / deltaTime]
   return angVel
 def ComputeAngVelRel(self, ornStart, ornEnd, deltaTime, bullet_client):
   ornStartConjugate = [-ornStart[0], -ornStart[1], -ornStart[2], ornStart[3]]
   pos_diff, q_diff = bullet_client.multiplyTransforms([0, 0, 0], ornStartConjugate, [0, 0, 0],
                                                       ornEnd)
   axis, angle = bullet_client.getAxisAngleFromQuaternion(q_diff)
   angVel = [(axis[0] * angle) / deltaTime, (axis[1] * angle) / deltaTime,
             (axis[2] * angle) / deltaTime]
   return angVel
 def ComputeAngVel(self, ornStart, ornEnd, deltaTime, bullet_client):
   dorn = bullet_client.getDifferenceQuaternion(ornStart, ornEnd)
   axis, angle = bullet_client.getAxisAngleFromQuaternion(dorn)
   angVel = [(axis[0] * angle) / deltaTime, (axis[1] * angle) / deltaTime,
             (axis[2] * angle) / deltaTime]
   return angVel
 def ComputeAngVel(self, ornStart, ornEnd, deltaTime, bullet_client):
   dorn = bullet_client.getDifferenceQuaternion(ornStart, ornEnd)
   axis, angle = bullet_client.getAxisAngleFromQuaternion(dorn)
   angVel = [(axis[0] * angle) / deltaTime, (axis[1] * angle) / deltaTime,
             (axis[2] * angle) / deltaTime]
   return angVel