function Matrix3(
  column0Row0,
  column1Row0,
  column2Row0,
  column0Row1,
  column1Row1,
  column2Row1,
  column0Row2,
  column1Row2,
  column2Row2,
) {
  this[0] = column0Row0 ?? 0.0;
  this[1] = column0Row1 ?? 0.0;
  this[2] = column0Row2 ?? 0.0;
  this[3] = column1Row0 ?? 0.0;
  this[4] = column1Row1 ?? 0.0;
  this[5] = column1Row2 ?? 0.0;
  this[6] = column2Row0 ?? 0.0;
  this[7] = column2Row1 ?? 0.0;
  this[8] = column2Row2 ?? 0.0;
}
A 3x3 matrix, indexable as a column-major order array.
Constructor parameters are in row-major order for code readability.
@alias Matrix3
@constructor
@implements {ArrayLike<number>}

@param {number} [column0Row0=0.0] The value for column 0, row 0.
@param {number} [column1Row0=0.0] The value for column 1, row 0.
@param {number} [column2Row0=0.0] The value for column 2, row 0.
@param {number} [column0Row1=0.0] The value for column 0, row 1.
@param {number} [column1Row1=0.0] The value for column 1, row 1.
@param {number} [column2Row1=0.0] The value for column 2, row 1.
@param {number} [column0Row2=0.0] The value for column 0, row 2.
@param {number} [column1Row2=0.0] The value for column 1, row 2.
@param {number} [column2Row2=0.0] The value for column 2, row 2.

@see Matrix3.fromArray
@see Matrix3.fromColumnMajorArray
@see Matrix3.fromRowMajorArray
@see Matrix3.fromQuaternion
@see Matrix3.fromHeadingPitchRoll
@see Matrix3.fromScale
@see Matrix3.fromUniformScale
@see Matrix3.fromCrossProduct
@see Matrix3.fromRotationX
@see Matrix3.fromRotationY
@see Matrix3.fromRotationZ
@see Matrix2
@see Matrix4