parameters: (q,trans)
return_statement: return 2*numpy.array(((0.5-yy-zz)*trans[0]+(xy-zw)*trans[1]+(xz+yw)*trans[2],
                            (xy+zw)*trans[0]+(0.5-xx-zz)*trans[1]+(yz-xw)*trans[2],
                            (xz-yw)*trans[0]+(yz+xw)*trans[1]+(0.5-xx-yy)*trans[2]))
docstring: rotates a point by a 4-elt quaternion. Returns a 3 elt vector
docstring_summary: rotates a point by a 4-elt quaternion. Returns a 3 elt vector
docstring_tokens: rotates a point by a 4 - elt quaternion . Returns a 3 elt vector
function: def quatRotate(q,trans):
      """rotates a point by a 4-elt quaternion. Returns a 3 elt vector"""
      xx = q[1] * q[1]
      xy = q[1] * q[2]
      xz = q[1] * q[3]
      xw = q[1] * q[0]
      yy = q[2] * q[2]
      yz = q[2] * q[3]
      yw = q[2] * q[0]
      zz = q[3] * q[3]
      zw = q[3] * q[0]
      return 2*numpy.array(((0.5-yy-zz)*trans[0]+(xy-zw)*trans[1]+(xz+yw)*trans[2],
                            (xy+zw)*trans[0]+(0.5-xx-zz)*trans[1]+(yz-xw)*trans[2],
                            (xz-yw)*trans[0]+(yz+xw)*trans[1]+(0.5-xx-yy)*trans[2]))
function_tokens: def quatRotate ( q , trans ) : xx = q [ 1 ] * q [ 1 ] xy = q [ 1 ] * q [ 2 ] xz = q [ 1 ] * q [ 3 ] xw = q [ 1 ] * q [ 0 ] yy = q [ 2 ] * q [ 2 ] yz = q [ 2 ] * q [ 3 ] yw = q [ 2 ] * q [ 0 ] zz = q [ 3 ] * q [ 3 ] zw = q [ 3 ] * q [ 0 ] return 2 * numpy . array ( ( ( 0.5 - yy - zz ) * trans [ 0 ] + ( xy - zw ) * trans [ 1 ] + ( xz + yw ) * trans [ 2 ] , ( xy + zw ) * trans [ 0 ] + ( 0.5 - xx - zz ) * trans [ 1 ] + ( yz - xw ) * trans [ 2 ] , ( xz - yw ) * trans [ 0 ] + ( yz + xw ) * trans [ 1 ] + ( 0.5 - xx - yy ) * trans [ 2 ] ) )