setQuat method

Matrix3 setQuat(
  1. Quaternion q
)

Implementation

Matrix3 setQuat(Quaternion q ) {
  Float32List te = storage;
  double x = q.x, y = q.y, z = q.z, w = q.w;
  double x2 = x + x,  y2 = y + y, z2 = z + z;
  double xx = x * x2, xy = x * y2, xz = x * z2;
  double yy = y * y2, yz = y * z2, zz = z * z2;
  double wx = w * x2, wy = w * y2, wz = w * z2;

  te[0] = 1 - ( yy + zz );
  te[1] = xy - wz;
  te[2] = xz + wy;

  te[3] = xy + wz;
  te[4] = 1 - ( xx + zz );
  te[5] = yz - wx;

  te[6] = xz - wy;
  te[7] = yz + wx;
  te[8] = 1 - ( xx + yy );

  return this;
}