Module

# GLMatrix.Mat3

Package
purescript-gl-matrix
Repository
dirkz/purescript-gl-matrix

### #Mat3Source

``data Mat3 :: Type``

#### Instances

• `Show Mat3`
• `Eq Mat3`

``add :: Mat3 -> Mat3 -> Mat3``

``adjoint :: Mat3 -> Mat3``

Calculates the adjugate of a Mat3

### #determinantSource

``determinant :: Mat3 -> Number``

Calculates the determinant of a Mat3

### #equalsSource

``equals :: Mat3 -> Mat3 -> Boolean``

Returns whether or not the matrices have approximately the same elements in the same position

### #frobSource

``frob :: Mat3 -> Number``

Returns Frobenius norm of a Mat3

### #fromRotationSource

``fromRotation :: Number -> Mat3``

Creates a matrix from a given angle This is equivalent to (but much faster than): mat3.identity(dest); mat3.rotate(dest, dest, rad);

### #fromValuesSource

``fromValues :: Number -> Number -> Number -> Number -> Number -> Number -> Number -> Number -> Number -> Mat3``

Create a new Mat3 with the given values

### #identitySource

``identity :: Mat3``

Set a Mat3 to the identity matrix

### #invertSource

``invert :: Mat3 -> Mat3``

Inverts a Mat3

### #multiplySource

``multiply :: Mat3 -> Mat3 -> Mat3``

Multiplies two Mat3's

### #multiplyScalarSource

``multiplyScalar :: Mat3 -> Number -> Mat3``

Multiply each element of the matrix by a scalar

``multiplyScalarAndAdd :: Mat3 -> Mat3 -> Number -> Mat3``

Adds two Mat3's after multiplying each element of the second operand by a scalar value

### #projectionSource

``projection :: Number -> Number -> Mat3``

Generates a 2D projection matrix with the given bounds

### #rotateSource

``rotate :: Mat3 -> Number -> Mat3``

Rotates a Mat3 by the given angle

### #rotationXSource

``rotationX :: Number -> Mat3``

Creates a rotation matrix around the x-axis

### #rotationYSource

``rotationY :: Number -> Mat3``

Creates a rotation matrix around the y-axis

### #rotationZSource

``rotationZ :: Number -> Mat3``

Creates a rotation matrix around the z-axis

### #subtractSource

``subtract :: Mat3 -> Mat3 -> Mat3``

Subtracts matrix b from matrix a

### #transposeSource

``transpose :: Mat3 -> Mat3``

Transpose the values of a Mat3

``numbers :: Mat3 -> Array Number``

Extract a number array

### #mapSource

``map :: (Number -> Number) -> Mat3 -> Mat3``

Map a function from `Number` to `Number` over it. Note: Since this is not a general container, it cannot be a `Functor`.

``unsafeFromNumbers :: Partial => Array Number -> Mat3``

Create a matrix from an array produced by `numbers`.

### #zipWithSource

``zipWith :: (Number -> Number -> Number) -> Mat3 -> Mat3 -> Mat3``

### #sliceSource

``slice :: Int -> Int -> Mat3 -> Array Number``

Like `Array.slice`