class_docstr: Quaternion(w=1, x=0, y=0, z=0, normalize=True)
  
  A quaternion is a mathematically convenient way to
  describe rotations.
class_docstr_tok: ["Quaternion","(","w=1",",","x=0",",","y=0",",","z=0",",","normalize=True",")","A","quaternion","is","a","mathematically","convenient","way","to","describe","rotations","."]
docstr: Rotate a Point instance using this quaternion.
docstr_tok: ["Rotate","a","Point","instance","using","this","quaternion","."]
code: def rotate_point(self, p):
      """Rotate a Point instance using this quaternion."""
      # Prepare
      p = Quaternion(0, p[0], p[1], p[2], False)  # Do not normalize!
      q1 = self.normalize()
      q2 = self.inverse()
      # Apply rotation
      r = (q1 * p) * q2
      # Make point and return
      return r.x, r.y, r.z
  
imports: import numpy
label_desc: Use image node_id 14 for calling the Quaternion obj's underlying member method code with example usage: obj.rotate_point(p) and returns: r,  r,  r