Methods ¶
__init__(values)
        
Return a new Matrix2. You can pass no parameters (the result will contain all zeros), a float (the result’s diagonal values will contain that float and the rest is all zeros), a sequence of 4 floats, or a sequence of sequences of 2 floats.
>>> hou.Matrix2() <hou.Matrix2 [[0, 0], [0, 0]]]> >>> hou.Matrix2(1) <hou.Matrix2 [[1, 0], [0, 1]]> >>> hou.Matrix2((0, 1, 2, 3)) <hou.Matrix2 [[0, 1], [2, 3]]> >>> hou.Matrix2(((0, 1), (3, 4))) <hou.Matrix2 [[0, 1], [2, 3]]>
Note that Houdini’s matrices are stored in row-major order, so the matrix’s contents are grouped by row.
isAlmostEqual(matrix2, tolerance=0.00001)
  → bool
        
Returns whether this matrix is equal to another, within a tolerance.
at(row, col)
  → double
        
Return the value of the matrix at the given row and column.
Raises IndexError if the row or column are not between 0 and 1, inclusive. Note that negative indices will not index from the end.
setAt(row, col, value)
        
Set the value of the matrix at the given row and column.
Raises IndexError if the row or column are not between 0 and 1, inclusive. Note that negative indices will not index from the end.
asTuple()
  → tuple
 of float
        
Return the contents of the matrix as a tuple of 4 floats.
asTupleOfTuples()
  → tuple
 of tuple
 of float
        
Return the contents of the matrix as a tuple of tuples of 2 floats.
setTo(tuple)
        
Set this matrix’s contents. The sequence may contain either 4 floats or 2 sequences, each with 2 floats.
See hou.Matrix2.__init__ for examples of suitable parameter values.
setToIdentity()
        
Set this matrix to the multiplicative identity, having 1's in the diagonal.
The matrix will contain the values
    [[1, 0], [0, 1]].  Note that you can construct a new
    matrix with these values using hou.Matrix2(1).
setToZero()
        
Set this matrix to contain all zeros.
Note that you can construct a new matrix with all zeros with
    hou.Matrix2().
__add__(matrix2)
  → hou.Matrix2
        
Add two matrices by adding corresponding entries together and return a new
    matrix.  This method lets you write m1 + m2, where m1 and m2 are
    Matrix2 objects.
__sub__(matrix2)
  → hou.Matrix2
        
Subtract another matrix from this one, subtracting corresponding entries,
    and return a new matrix.  This method lets you write m1 - m2, where m1
    and m2 are Matrix2 objects.
__mul__(matrix2_or_scalar)
  → hou.Matrix2
        
Multiply this matrix by another matrix or by a scalar, returning a new
    matrix.  This method lets you write m1 * m2, where m1 and m2 are
    Matrix2 objects, or m1 * s, where s is a float.
See Wikipedia’s matrix multiplication page for details on how each element in the result is computed.
preMult(matrix2)
  → hou.Matrix2
        
Returns matrix2 * self.  Note that __mul__ returns self * matrix2,
    which is a different result because matrix multiplication is not
    commutative.
transposed()
  → hou.Matrix2
        
Return the transpose of this matrix.  The result is such that
    self.at(i, j) == self.transposed().at(j, i) for 0 <= i,j <= 1.
See Wikipedia’s transpose page for more information.
inverted()
  → hou.Matrix2
        
Return the inverse of this matrix.
Raises hou.OperationFailed if the matrix is not invertible.
    Otherwise,
    (self * self.inverted()).isAlmostEqual(hou.Matrix2(1)) is True.
See Wikipedia’s invertible matrix page for more information.
determinant()
  → double
        
Return the determinant of the matrix.