# Difference between revisions of "Matrix"

A Matrix is a 4x4 column-major matrix.

### Attributes

Name Description
identity True if the Matrix is an identity Matrix

### Methods

frustum(Rect, near=0.0, far=1.0) Sets to a frustum
getValue(row, col) Returns the value at the specified row and column.
lookat(eye, center, up) Sets to a look-at matrix from the eye position to the center using the provided up vector. All three arguments are of type Point3D.
ortho(Rect, near=-1.0, far=1.0) Sets to a orthographic matrix
perspective(y_fov, aspect, near=0.0, far=1.0) Sets to a perspective matrix
rotate(angle, axis=None) Rotates the matrix around the axis (Point3D) or origin by the angle (radians).
scale(point) Scales the matrix by the point (Point3D).
scale(x, y, z=1.0) Scales the matrix by the x, y, z values.
setValue(row, col, value) Sets the value at the specified row and column.
shear(point) Shears the matrix by the point (Point3D).
shear(x, y, z=0.0) Shears the matrix by the x, y, z values.
transform(point) Returns the transformed point (Point3D).
translate(point) Translates the matrix by the point (Point3D).
translate(x, y, z=0.0) Translates the matrix by the x, y, z values.
transpose() Returns the transposed matrix. 6.0
viewport(Rect, near=0.0, far=1.0) Sets to a viewport

### Math Operators

Operator Argument Description
* Point3D Transforms the Point
* Matrix Concatenates the Matrix
- Returns the inverted Matrix
! 1 if the Matrix is identity, 0 otherwise