Matrix Math#

Functionality#
Matrix Math node allows for various matrix operations to be performed on the input matrices, such as: Multiply, Invert, Filter, Basis.
Inputs#
All inputs are vectorized and they will accept single or multiple values.
A
B [1]
…
Z [2]
Notes:
[1] : The second input is only available for the operations that require a second operand, like Multiply.
[2] : For multiple input operation (e.g. Multiply) the input sockets extend to allow arbitrary number of input matrices and their socket name progress alphabetically.
Parameters#
The Operation parameter allows to select one of following operations: Multiply, Invert, Filter, Basis.
All parameters except Operation, PrePost and Filter T/R/S can be given as an external input.
Param |
Type |
Default |
Description |
---|---|---|---|
Operation |
Enum:
|
Multiply |
Multiply: A,B => C = A*B [1]
|
PrePost |
Enum:
|
Pre |
Determines the order the operands [2] |
Filter T |
Bool |
False |
Filter out the Translation component [3] |
Filter R |
Bool |
False |
Filter out the Rotation component [3] |
Filter S |
Bool |
False |
Filter out the Scale component [3] |
A |
Matrix |
identity |
First matrix input |
B |
Matrix |
identity |
Second matrix input [4] |
Notes:
[1] : The order of multiplication is given by the PrePost setting.
[2] : The PrePost setting is only available for the Multiply operation.
[3] : The Filter T/R/S toggle settings are only available for the Filter operation.
[4] : Second input is only available for Multiply operation.
Operations#
Multiply The multiplication of the 4x4 homogeneous matrices result in a composite 4x4 homogeneous matrix having a composed Translation, a composed Rotation and a composed Scale. The order of multiplication is given by the PrePost setting, which is set to PRE-multiplication by default (C = A*B). The POST multiplication reverses the order of multiplication (C = B*A).
Note: When using a PRE multiply composition A*B to transform a mesh, essentially the overall operation is equivalent to applying the matrix B to the mesh first, then matrix A.
For this operation the node allows for an arbitrary number of input matrices to be multiplied together: A * B * .. * Z (PRE or POST).
Filter A 4x4 homogeneous matrix is composed by a translation (T), rotation (R) and a scale (S) matrix and is defined as: T*R*S. The filter operation allows you to set the individual components T, R and/or S to the identity matrix so that they are filtered out of the output composite matrix.
Note: filtering out all components will result in an identity matrix output.
Invert The inversion of a 4x4 homogeneous matrix A is a 4x4 homogeneous matrix A’ for which A * A’ is the identity matrix.
Basis This operation extacts the basis vector from the rotation part of the 4x4 homogeneous matrix. Essentially these are the vectors the XYZ ortho-normal axes of a coordinate system would be if transformed by the 4x4 homogeneous matrix.
Outputs#
Matrix
Outputs will be generated when connected.
X
Y
Z
These outputs are available only for the Basis operation and will be generated when connected.