- class M33f
3x3 floating point transformation matrix.
- M33f()
Default constructor: initialize to identity
1 0 00 1 00 0 1
- M33f(a: float)
Initialize to scalar constant
a a aa a aa a a
- M33f(a: float, b: float, c: float, d: float, e: float, f: float, g: float, h: float, i: float)
Construct from given scalar values:
a b cd e fg h i
- determinant() float
Determinant
- equalWithAbsError(m: M33f, e: float) bool
Compare two matrices and test if they are “approximately equal”: @return True if the coefficients of this and m are the same with an absolute error of no more than e, i.e., for all i, j:
abs (this[i][j] - m[i][j]) <= e
- equalWithRelError(m: M33f, e: float) bool
Compare two matrices and test if they are “approximately equal”: @return True if the coefficients of this and m are the same with a relative error of no more than e, i.e., for all i, j:
abs (this[i] - v[i][j]) <= e * abs (this[i][j])
- fastMinor(r0: int, r1: int, c0: int, c1: int) float
Build a minor using the specified rows and columns
- gjInverse() M33f
Return the inverse using the Gauss-Jordan method. Significantly slower, leaving this unmodified. Slower but more accurate than inverse().
- gjInvert()
Invert in place using the Gauss-Jordan method. Significantly slower but more accurate than invert().
- invert()
Invert in place using the determinant
- negate()
Component-wise multiplication by -1
- makeIdentity()
Set to the identity matrix
- minorOf(r: int, c: int) float
Calculate the matrix minor of the (r,c) element
- rotate(r: float)
Rotate the given matrix by r (in radians)
- shear(h: V2f)
Shear the matrix in x for each y coord. by given factor xy and shear y for each x coord. by given factor yx
- shear(xy: float)
Shear the matrix in x for each y coord. by given factor xy
- setScale(s: float)
Set matrix to scale by given uniform factor
- setShear(h: V2f)
Set matrix to shear x for each y coord. by given factor h.x and to shear y for each x coord. by given factor h.y
- transpose()
Transpose