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: Multiply two quaternions.
docstr_tok: ["Multiply","two","quaternions","."]
code: def __mul__(self, q2):
      """Multiply two quaternions."""
      new = Quaternion()
      q1 = self
      new.w = q1.w * q2.w - q1.x * q2.x - q1.y * q2.y - q1.z * q2.z
      new.x = q1.w * q2.x + q1.x * q2.w + q1.y * q2.z - q1.z * q2.y
      new.y = q1.w * q2.y + q1.y * q2.w + q1.z * q2.x - q1.x * q2.z
      new.z = q1.w * q2.z + q1.z * q2.w + q1.x * q2.y - q1.y * q2.x
      return new
  
imports: import numpy
label_desc: Use image node_id 13 for calling the Quaternion obj's underlying member method code with example usage: obj.__mul__(q2) and returns: new