# [name]

A 3x3 matrix.

## Constructor

### [name]()

Creates and initializes the 3x3 matrix to the identity matrix.

## Properties

### [property:Float32Array elements]

A column-major list of matrix values.

## Methods

### [method:Matrix3 set]( [page:Float n11], [page:Float n12], [page:Float n13], [page:Float n21], [page:Float n22], [page:Float n23], [page:Float n31], [page:Float n32], [page:Float n33] ) [page:Matrix3 this]

n11 -- [page:Float]
n12 -- [page:Float]
n13 -- [page:Float]
n21 -- [page:Float]
n22 -- [page:Float]
n23 -- [page:Float]
n31 -- [page:Float]
n32 -- [page:Float]
n33 -- [page:Float]
Sets the 3x3 matrix values to the given row-major sequence of values.

### [method:Matrix3 copy]( [page:Matrix3 m] ) [page:Matrix3 this]

m -- [page:Matrix4]
Copies the values of matrix *m* into this matrix.

### [method:Matrix3 fromArray]( [page:Array array] ) [page:Matrix3 this]

array -- [page:Array] The array to read the elements from.
Sets the elements of this matrix based on an array in column-major format.

### [method:Matrix3 transpose]() [page:Matrix3 this]

Transposes this matrix in place.

### [method:Matrix3 transposeIntoArray]( [page:Array array] ) [page:Matrix3 this]

array -- [page:Array]
Transposes this matrix into the supplied array, and returns itself unchanged.

### [method:Float determinant]() [page:Matrix3 this]

Computes and returns the determinant of this matrix.

### [method:Matrix3 multiplyScalar]( [page:Float s] ) [page:Matrix3 this]

scalar -- [page:Float]
Multiplies every component of the matrix by the scalar value *s*.

### [method:Array applyToVector3Array]( [page:Array array] ) [page:Matrix3 this]

array -- An array in the form [vector1x, vector1y, vector1z, vector2x, vector2y, vector2z, ...]
Multiplies (applies) this matrix to every vector3 in the array.

### [method:Matrix3 getNormalMatrix]( [page:Matrix4 m] ) [page:Matrix3 this]

m -- [page:Matrix4]
Sets this matrix as the normal matrix (upper left 3x3)of the passed [page:Matrix4 matrix4]. The normal matrix is the inverse transpose of the matrix *m*.

### [method:Matrix3 getInverse]( [page:Matrix4 m], [page:Boolean throwOnDegenerate] ) [page:Matrix3 this]

m -- [page:Matrix4]
throwOnDegenerate -- [Page:Boolean] If true, throw an error if the matrix is degenerate (not invertible).
Set this matrix to the inverse of the passed matrix.

### [method:Matrix3 identity]() [page:Matrix3 this]

Resets this matrix to identity.
1, 0, 0
0, 1, 0
0, 0, 1

### [method:Matrix3 clone]() [page:Matrix3 this]

Creates a copy of this matrix.

### [method:Array toArray]( [page:Array array], [page:Integer offset] ) [page:Matrix3 this]

array -- [page:Array] optional array to store the vector
offset -- [page:Integer] optional offset into the array
Writes the elements of this matrix to an array in column-major format.

## Source

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]