[frames] | no frames]

The Matrix Object

Notes:
• Math can be performed on Matrix classes
• mat + mat
• mat - mat
• mat * float/int
• mat * vec
• mat * mat
• Comparison operators can be done:
• ==, != test numeric values within epsilon
• You can access a quaternion object like a 2d sequence
• x = matrix
• vector = matrix

Attention: Quaternion data can be wrapped or non-wrapped. When a object is wrapped it means that the object will give you direct access to the data inside of blender. Modification of this object will directly change the data inside of blender. To copy a wrapped object you need to use the object's constructor. If you copy and object by assignment you will not get a second copy but a second reference to the same data. Only certain functions will return wrapped data. This will be indicated in the method description. Example:

wrappedObject = Object.getAttribute() #this is wrapped data
print wrappedObject.wrapped #prints 'True'
copyOfObject = wrappedObject.copy() #creates a copy of the object
secondPointer = wrappedObject #creates a second pointer to the same data
print wrappedObject.attribute #prints '5'
secondPointer.attribute = 10
print wrappedObject.attribute #prints '10'
print copyOfObject.attribute #prints '5'

Instance Methods
New matrix object.
 __init__(list1=None, list2=None, list3=None, list4=None) Create a new matrix object from initialized values.

 zero() Set all matrix values to 0.

 copy() Returns a copy of this matrix

 identity() Set the matrix to the identity matrix.

 Set the matrix to its transpose.
float
 Return the determinant of a matrix.

 invert() Set the matrix to its inverse.
Matrix object.
 Return the 3d submatrix corresponding to the linear term of the embedded affine transformation in 3d.
Vector object.
 Return a the translation part of a 4 row matrix.
Vector object.
 Return a the scale part of a 3x3 or 4x4 matrix.

 Resize the matrix to by 4x4
Euler object
 toEuler(eul_compat) Return an Euler representation of the rotation matrix (3x3 or 4x4 matrix only).
Quaternion object
 toQuat() Return a quaternion representation of the rotation matrix
 Instance Variables colSize The column size of the matrix. rowSize The row size of the matrix. wrapped Whether or not this object wrapps internal data
 Method Details

__init__(list1=None, list2=None, list3=None, list4=None)(Constructor)

Create a new matrix object from initialized values.

Example:

matrix = Matrix([1,1,1],[0,1,0],[1,0,0])
matrix = Matrix(mat)
matrix = Matrix(seq1, seq2, vector)
Parameters:
• list1 (PyList of int/float) - A 2d,3d or 4d list.
• list2 (PyList of int/float) - A 2d,3d or 4d list.
• list3 (PyList of int/float) - A 2d,3d or 4d list.
• list4 (PyList of int/float) - A 2d,3d or 4d list.
Returns: New matrix object.
It depends wheter a parameter was passed:
• (list1, etc.): Matrix object initialized with the given values;
• (): An empty 3 dimensional matrix.

zero()

Set all matrix values to 0.

Returns:
an instance of itself

copy()

Returns a copy of this matrix

Returns:
a copy of itself

identity()

Set the matrix to the identity matrix. An object with zero location and rotation, a scale of 1, will have an identity matrix.

Returns:
an instance of itself

transpose()

Set the matrix to its transpose.

Returns:
None

determinant()

Return the determinant of a matrix.

Returns: float
Return a the determinant of a matrix.

invert()

Set the matrix to its inverse.

Returns:
an instance of itself.
Raises:
• ValueError - When matrix is singular.

rotationPart()

Return the 3d submatrix corresponding to the linear term of the embedded affine transformation in 3d. This matrix represents rotation and scale. Note that the (4,4) element of a matrix can be used for uniform scaling, too.

Returns: Matrix object.
Return the 3d matrix for rotation and scale.

translationPart()

Return a the translation part of a 4 row matrix.

Returns: Vector object.
Return a the translation of a matrix.

scalePart()

Return a the scale part of a 3x3 or 4x4 matrix.

Returns: Vector object.
Return a the scale of a matrix.

Note: This method does not return negative a scale on any axis because it is not possible to obtain this data from the matrix alone.

resize4x4()

Resize the matrix to by 4x4

Returns:
an instance of itself.

toEuler(eul_compat)

Return an Euler representation of the rotation matrix (3x3 or 4x4 matrix only).

Parameters:
• eul_compat (Euler) - Optional euler argument the new euler will be made compatible with (no axis flipping between them). Useful for converting a series of matrices to animation curves.
Returns: Euler object
Euler representation of the rotation matrix.

toQuat()

Return a quaternion representation of the rotation matrix

Returns: Quaternion object
Quaternion representation of the rotation matrix

 Generated by Epydoc 3.0 on Mon Aug 31 23:12:32 2009 http://epydoc.sourceforge.net