# Difference between revisions of "Matrix"

## Matrix

A Matrix is a 4x4 column-major matrix.

### Attributes

Name Description
identity True if the Matrix is an identity Matrix

### Methods

Name Description
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.
translate(point) Translates the matrix by the point (Point3D).
translate(x, y, z=0.0) Translates the matrix by the x, y, z values.
transform(point) Returns the transformed point (Point3D).
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

### Constants

#### Action Type

Name Description
Action A normal action that appears in the Actions menu (the default)
ShapeImporter An Action that should appear in the Shape Import menu
ShapeExporter An Action that should appear in the Shape Export menu
Extension An Action that implements core functionality is bound using some other means