Matrix3DBasics, RotationMatrixReadOnly, RotationScaleMatrixReadOnlyMatrix3D, RotationMatrix, RotationScaleMatrixpublic interface Matrix3DReadOnly
| Modifier and Type | Method | Description |
|---|---|---|
default void |
addTransform(Tuple3DBasics tupleToTransform) |
Transforms the given tuple by this matrix and add the result to the tuple.
|
default void |
addTransform(Tuple3DReadOnly tupleOriginal,
Tuple3DBasics tupleTransformed) |
Transforms the given tuple
tupleOriginal by this matrix and add the result to
tupleTransformed. |
default void |
checkIfMatrix2D() |
Asserts that this matrix describes transformation in the XY plane.
|
default void |
checkIfRotationMatrix() |
Asserts that this matrix is a rotation matrix.
|
default boolean |
containsNaN() |
Tests if at least one element of this matrix is equal to Double.NaN.
|
default double |
determinant() |
Computes the determinant of this matrix.
|
default boolean |
epsilonEquals(Matrix3DReadOnly other,
double epsilon) |
Tests on a per coefficient basis if this matrix is equal to the given
other to an
epsilon. |
default boolean |
equals(Matrix3DReadOnly other) |
Tests on a per component basis if this matrix is exactly equal to
other. |
default void |
get(double[] matrixArrayToPack) |
Packs the coefficients of this matrix into a row-major 1D array.
|
default void |
get(int startIndex,
double[] matrixArrayToPack) |
Packs the coefficients of this matrix into a row-major 1D array starting at the given index
startIndex. |
default void |
get(int startRow,
int startColumn,
org.ejml.data.DenseMatrix64F matrixToPack) |
Packs the coefficients of this matrix into a dense-matrix given index offsets for the row and the
column.
|
default void |
get(org.ejml.data.DenseMatrix64F matrixToPack) |
Packs the coefficients of this matrix into a dense-matrix.
|
default void |
getColumn(int column,
double[] columnArrayToPack) |
Packs a column of this matrix into an array.
|
default void |
getColumn(int column,
Tuple3DBasics columnToPack) |
Packs a column of this matrix into a 3D tuple.
|
default double |
getElement(int row,
int column) |
Retrieves and returns a coefficient of this matrix given its row and column indices.
|
double |
getM00() |
Gets the 1st row 1st column coefficient of this matrix.
|
double |
getM01() |
Gets the 1st row 2nd column coefficient of this matrix.
|
double |
getM02() |
Gets the 1st row 3rd column coefficient of this matrix.
|
double |
getM10() |
Gets the 2nd row 1st column coefficient of this matrix.
|
double |
getM11() |
Gets the 2nd row 2nd column coefficient of this matrix.
|
double |
getM12() |
Gets the 2nd row 3rd column coefficient of this matrix.
|
double |
getM20() |
Gets the 3rd row 1st column coefficient of this matrix.
|
double |
getM21() |
Gets the 3rd row 2nd column coefficient of this matrix.
|
double |
getM22() |
Gets the 3rd row 3rd column coefficient of this matrix.
|
default void |
getRow(int row,
double[] rowArrayToPack) |
Packs a row of this matrix into an array.
|
default void |
getRow(int row,
Tuple3DBasics rowToPack) |
Packs a row of this matrix into a 3D tuple.
|
void |
inverseTransform(Matrix3DReadOnly matrixOriginal,
Matrix3D matrixTransformed) |
Performs the inverse of the transforms to the given 3D matrix
matrixOriginal by this
matrix and stores the result in matrixTransformed. |
default void |
inverseTransform(Matrix3D matrixToTransform) |
Performs the inverse of the transforms to the given 3D matrix
matrixOriginal by this
matrix. |
default void |
inverseTransform(Tuple2DBasics tupleToTransform) |
Performs the inverse of the transform to the given tuple by this matrix.
|
default void |
inverseTransform(Tuple2DBasics tupleToTransform,
boolean checkIfTransformInXYPlane) |
Performs the inverse of the transform to the given tuple by this matrix.
|
default void |
inverseTransform(Tuple2DReadOnly tupleOriginal,
Tuple2DBasics tupleTransformed) |
Performs the inverse of the transform to the given tuple
tupleOriginal by this matrix and
stores the result in tupleTransformed. |
void |
inverseTransform(Tuple2DReadOnly tupleOriginal,
Tuple2DBasics tupleTransformed,
boolean checkIfTransformInXYPlane) |
Performs the inverse of the transform to the given tuple
tupleOriginal by this matrix and
stores the result in tupleTransformed. |
default void |
inverseTransform(Tuple3DBasics tupleToTransform) |
Performs the inverse of the transform to the given tuple by this matrix.
|
void |
inverseTransform(Tuple3DReadOnly tupleOriginal,
Tuple3DBasics tupleTransformed) |
Performs the inverse of the transform to the given tuple
tupleOriginal by this matrix and
stores the result in tupleTransformed. |
default void |
inverseTransform(Vector4DBasics vectorToTransform) |
Performs the inverse of the transform to the vector part the given 4D vector by this matrix.
|
void |
inverseTransform(Vector4DReadOnly vectorOriginal,
Vector4DBasics vectorTransformed) |
Performs the inverse of the transform to the vector part the given 4D vector
vectorOriginal by this matrix and stores the result in vectorTransformed. |
default boolean |
isIdentity() |
Tests if this matrix is equal to the identity matrix.
|
default boolean |
isIdentity(double epsilon) |
Tests if this matrix is equal to the identity matrix.
|
default boolean |
isMatrix2D() |
Tests if this matrix describes transformation in the XY plane.
|
default boolean |
isMatrix2D(double epsilon) |
Tests if this matrix describes transformation in the XY plane.
|
default boolean |
isMatrixSkewSymmetric() |
Tests if this matrix is skew symmetric:
|
default boolean |
isMatrixSkewSymmetric(double epsilon) |
Tests if this matrix is skew symmetric:
|
default boolean |
isRotationMatrix() |
Tests if this matrix is a rotation matrix.
|
default boolean |
isRotationMatrix(double epsilon) |
Tests if this matrix is a rotation matrix given a tolerance
epsilon. |
void |
transform(Matrix3DReadOnly matrixOriginal,
Matrix3D matrixTransformed) |
Transforms the given 3D matrix
matrixOriginal by this matrix and stores the result in
matrixTransformed. |
default void |
transform(Matrix3D matrixToTransform) |
Transforms the given 3D matrix by this matrix.
|
default void |
transform(Tuple2DBasics tupleToTransform) |
Transforms the given tuple by this matrix.
|
default void |
transform(Tuple2DBasics tupleToTransform,
boolean checkIfTransformInXYPlane) |
Transforms the given tuple by this matrix.
|
default void |
transform(Tuple2DReadOnly tupleOriginal,
Tuple2DBasics tupleTransformed) |
Transforms the given tuple
tupleOriginal by this matrix and stores the result in
tupleTransformed. |
default void |
transform(Tuple2DReadOnly tupleOriginal,
Tuple2DBasics tupleTransformed,
boolean checkIfRotationInXYPlane) |
Transforms the given tuple
tupleOriginal by this matrix and stores the result in
tupleTransformed. |
default void |
transform(Tuple3DBasics tupleToTransform) |
Transforms the given tuple by this matrix.
|
default void |
transform(Tuple3DReadOnly tupleOriginal,
Tuple3DBasics tupleTransformed) |
Transforms the given tuple
tupleOriginal by this matrix and stores the result in
tupleTransformed. |
default void |
transform(Vector4DBasics vectorToTransform) |
Transforms the vector part of the given 4D vector.
|
default void |
transform(Vector4DReadOnly vectorOriginal,
Vector4DBasics vectorTransformed) |
Transforms the vector part of the given 4D vector
vectorOriginal and stores the result
into vectorTransformed. |
double getM00()
double getM01()
double getM02()
double getM10()
double getM11()
double getM12()
double getM20()
double getM21()
double getM22()
default double getElement(int row,
int column)
row - the row of the coefficient to return.column - the column of the coefficient to return.java.lang.ArrayIndexOutOfBoundsException - if either row ∉ [0, 2] or column
∉ [0, 2].default void get(double[] matrixArrayToPack)
matrixArrayToPack - the array in which the coefficients of this matrix are stored. Modified.default void get(int startIndex,
double[] matrixArrayToPack)
startIndex.startIndex - index in the array to store the first coefficient of this matrix.matrixArrayToPack - the array in which the coefficients of this matrix are stored. Modified.default void get(org.ejml.data.DenseMatrix64F matrixToPack)
matrixToPack - the dense-matrix in which the coefficients of this matrix are stored.
Modified.default void get(int startRow,
int startColumn,
org.ejml.data.DenseMatrix64F matrixToPack)
startRow - the first row index to start writing in the dense-matrix.startColumn - the first column index to start writing in the dense-matrix.matrixToPack - the dense-matrix in which the coefficients of this matrix are stored.
Modified.default void getColumn(int column,
double[] columnArrayToPack)
column - the index of the column to pack.columnArrayToPack - the array in which the column of this matrix is stored. Modified.java.lang.ArrayIndexOutOfBoundsException - if column ∉ [0, 2].default void getColumn(int column,
Tuple3DBasics columnToPack)
column - the index of the column to pack.columnToPack - the tuple in which the column of this matrix is stored. Modified.java.lang.ArrayIndexOutOfBoundsException - if column ∉ [0, 2].default void getRow(int row,
double[] rowArrayToPack)
row - the index of the row to pack.rowArrayToPack - the array in which the row of this matrix is stored. Modified.java.lang.ArrayIndexOutOfBoundsException - if row ∉ [0, 2].default void getRow(int row,
Tuple3DBasics rowToPack)
row - the index of the row to pack.rowToPack - the array in which the row of this matrix is stored. Modified.java.lang.ArrayIndexOutOfBoundsException - if row ∉ [0, 2].default boolean containsNaN()
true if at least one element of this matrix is equal to Double.NaN,
false otherwise.default double determinant()
default void checkIfRotationMatrix()
This matrix is a rotation matrix if:
Matrix3DFeatures.EPS_CHECK_ROTATION,
Matrix3DFeatures.EPS_CHECK_ROTATION,
Matrix3DFeatures.EPS_CHECK_ROTATION.
NotARotationMatrixException - if the matrix is not a rotation matrix.default void checkIfMatrix2D()
This matrix is considered to be a 2D transformation in the XY plane if:
Matrix3DFeatures.EPS_CHECK_2D,
m20, m02, m21, and m12 are equal to 0.0 +/-
Matrix3DFeatures.EPS_CHECK_2D.
NotAMatrix2DException - if the matrix represents a 3D transformation.default boolean isIdentity()
The assertion is done on a per coefficient basis using
Matrix3DFeatures.EPS_CHECK_IDENTITY as the tolerance.
epsilon - the tolerance as shown above.true if the given matrix is considered to be equal to the identity matrix,
false otherwise.default boolean isIdentity(double epsilon)
The assertion is done on a per coefficient basis using epsilon as the tolerance.
epsilon - the tolerance as shown above.true if the given matrix is considered to be equal to the identity matrix,
false otherwise.default boolean isRotationMatrix()
This matrix is a rotation matrix if:
Matrix3DFeatures.EPS_CHECK_ROTATION,
Matrix3DFeatures.EPS_CHECK_ROTATION,
Matrix3DFeatures.EPS_CHECK_ROTATION.
true if this matrix is a rotation matrix, false otherwise.default boolean isRotationMatrix(double epsilon)
epsilon.
This matrix is a rotation matrix if:
epsilon,
epsilon,
epsilon.
epsilon - the tolerance to use.true if this matrix is a rotation matrix, false otherwise.default boolean isMatrix2D()
This matrix is considered to be a 2D transformation in the XY plane if:
Matrix3DFeatures.EPS_CHECK_2D,
m20, m02, m21, and m12 are equal to 0.0 +/-
Matrix3DFeatures.EPS_CHECK_2D.
true if this matrix describes a 2D transformation in the XY plane, false
otherwise.default boolean isMatrix2D(double epsilon)
This matrix is considered to be a 2D transformation in the XY plane if:
epsilon,
m20, m02, m21, and m12 are equal to 0.0 +/-
epsilon.
epsilon - the tolerance to use.true if this matrix describes a 2D transformation in the XY plane, false
otherwise.default boolean isMatrixSkewSymmetric()
| 0 -z y |
m = | z 0 -x |
| -y x 0 |
This matrix is considered to be skew symmetric if:
Matrix3DFeatures.EPS_CHECK_SKEW,
m10, m01),
(m12, m21), and (m20, m02) are equal to 0.0 +/-
Matrix3DFeatures.EPS_CHECK_SKEW.
true if the matrix is skew symmetric, false otherwise.default boolean isMatrixSkewSymmetric(double epsilon)
| 0 -z y |
m = | z 0 -x |
| -y x 0 |
This matrix is considered to be skew symmetric if:
epsilon,
m10, m01),
(m12, m21), and (m20, m02) are equal to 0.0 +/- epsilon.
epsilon - the tolerance to use.true if the matrix is skew symmetric, false otherwise.default void transform(Tuple3DBasics tupleToTransform)
tupleToTransform = this * tupleToTransform
tupleToTransform - the tuple to transform. Modified.default void transform(Tuple3DReadOnly tupleOriginal, Tuple3DBasics tupleTransformed)
tupleOriginal by this matrix and stores the result in
tupleTransformed.
tupleTransformed = this * tupleOriginal
tupleOriginal - the tuple to transform. Not modified.tupleTransformed - the tuple to store the result. Modified.default void addTransform(Tuple3DBasics tupleToTransform)
tupleToTransform = tupleToTransform + this * tupleToTransform
tupleToTransform - the tuple to transform. Modified.default void addTransform(Tuple3DReadOnly tupleOriginal, Tuple3DBasics tupleTransformed)
tupleOriginal by this matrix and add the result to
tupleTransformed.
tupleTransformed = tupleTransformed + this * tupleOriginal
tupleOriginal - the tuple to transform. Not modified.tupleTransformed - the tuple to add the result to. Modified.default void transform(Tuple2DBasics tupleToTransform)
tupleToTransform = this * tupleToTransform
tupleToTransform - the tuple to transform. Modified.NotAMatrix2DException - if this matrix does not represent a transformation in the XY plane.default void transform(Tuple2DReadOnly tupleOriginal, Tuple2DBasics tupleTransformed)
tupleOriginal by this matrix and stores the result in
tupleTransformed.
tupleTransformed = this * tupleOriginal
tupleOriginal - the tuple to transform. Not modified.tupleTransformed - the tuple to store the result. Modified.NotAMatrix2DException - if this matrix does not represent a transformation in the XY plane.default void transform(Tuple2DBasics tupleToTransform, boolean checkIfTransformInXYPlane)
tupleToTransform = this * tupleToTransform
tupleToTransform - the tuple to transform. Modified.checkIfTransformInXYPlane - whether this method should assert that this matrix represents a
transformation in the XY plane.NotAMatrix2DException - if checkIfTransformInXYPlane == true and this matrix does
not represent a transformation in the XY plane.default void transform(Tuple2DReadOnly tupleOriginal, Tuple2DBasics tupleTransformed, boolean checkIfRotationInXYPlane)
tupleOriginal by this matrix and stores the result in
tupleTransformed.
tupleTransformed = this * tupleOriginal
tupleOriginal - the tuple to transform. Not modified.tupleTransformed - the tuple to store the result. Modified.checkIfRotationInXYPlane - whether this method should assert that this matrix represents a
transformation in the XY plane.NotAMatrix2DException - if checkIfTransformInXYPlane == true and this matrix does
not represent a transformation in the XY plane.default void transform(Matrix3D matrixToTransform)
matrixToTransform = this * matrixToTransform * this-1
matrixToTransform - the matrix to transform. Modified.SingularMatrixException - if this matrix is not invertible.void transform(Matrix3DReadOnly matrixOriginal, Matrix3D matrixTransformed)
matrixOriginal by this matrix and stores the result in
matrixTransformed.
matrixTransformed = this * matrixOriginal * this-1
matrixOriginal - the matrix to transform. Not modified.matrixTransformed - the matrix in which the result is stored. Modified.SingularMatrixException - if this matrix is not invertible.default void transform(Vector4DBasics vectorToTransform)
vectorToTransform.s = vectorToTransform.s
vectorToTransform.xyz = this * vectorToTransform.xyz
vectorToTransform - the vector to transform. Modified.default void transform(Vector4DReadOnly vectorOriginal, Vector4DBasics vectorTransformed)
vectorOriginal and stores the result
into vectorTransformed.
vectorTransformed.s = vectorOriginal.s
vectorTransformed.xyz = this * vectorOriginal.xyz
vectorOriginal - the vector to transform. Not modified.vectorTransformed - the vector in which the result is stored. Modified.default void inverseTransform(Tuple3DBasics tupleToTransform)
tupleToTransform = this-1 * tupleToTransform
tupleToTransform - the tuple to transform. Modified.SingularMatrixException - if this matrix is not invertible.void inverseTransform(Tuple3DReadOnly tupleOriginal, Tuple3DBasics tupleTransformed)
tupleOriginal by this matrix and
stores the result in tupleTransformed.
tupleTransformed = this-1 * tupleOriginal
tupleOriginal - the tuple to transform. Not modified.tupleTransformed - the tuple in which the result is stored. Modified.SingularMatrixException - if this matrix is not invertible.default void inverseTransform(Tuple2DBasics tupleToTransform)
tupleToTransform = this-1 * tupleToTransform
tupleToTransform - the tuple to transform. Modified.NotAMatrix2DException - if this matrix does not represent a transformation in the XY plane.SingularMatrixException - if this matrix is not invertible.default void inverseTransform(Tuple2DReadOnly tupleOriginal, Tuple2DBasics tupleTransformed)
tupleOriginal by this matrix and
stores the result in tupleTransformed.
tupleTransformed = this-1 * tupleOriginal
tupleOriginal - the tuple to transform. Not modified.tupleTransformed - the tuple in which the result is stored. Modified.NotAMatrix2DException - if this matrix does not represent a transformation in the XY plane.SingularMatrixException - if this matrix is not invertible.default void inverseTransform(Tuple2DBasics tupleToTransform, boolean checkIfTransformInXYPlane)
tupleToTransform = this-1 * tupleToTransform
tupleToTransform - the tuple to transform. Modified.checkIfTransformInXYPlane - whether this method should assert that this matrix represents a
transformation in the XY plane.NotAMatrix2DException - if checkIfTransformInXYPlane == true and this matrix does
not represent a transformation in the XY plane.SingularMatrixException - if this matrix is not invertible.void inverseTransform(Tuple2DReadOnly tupleOriginal, Tuple2DBasics tupleTransformed, boolean checkIfTransformInXYPlane)
tupleOriginal by this matrix and
stores the result in tupleTransformed.
tupleTransformed = this-1 * tupleOriginal
tupleOriginal - the tuple to transform. Not modified.tupleTransformed - the tuple in which the result is stored. Modified.checkIfTransformInXYPlane - whether this method should assert that this matrix represents a
transformation in the XY plane.NotAMatrix2DException - if checkIfTransformInXYPlane == true and this matrix does
not represent a transformation in the XY plane.SingularMatrixException - if this matrix is not invertible.default void inverseTransform(Matrix3D matrixToTransform)
matrixOriginal by this
matrix.
matrixToTransform = this-1 * matrixToTransform * this-1
matrixToTransform - the matrix to transform. Not modified.SingularMatrixException - if this matrix is not invertible.void inverseTransform(Matrix3DReadOnly matrixOriginal, Matrix3D matrixTransformed)
matrixOriginal by this
matrix and stores the result in matrixTransformed.
matrixTransformed = this-1 * matrixOriginal * this-1
matrixOriginal - the matrix to transform. Not modified.matrixTransformed - the matrix in which the result is stored. Modified.SingularMatrixException - if this matrix is not invertible.default void inverseTransform(Vector4DBasics vectorToTransform)
vectorToTransform.s = vectorToTransform.s
vectorToTransform.xyz = this-1 * vectorToTransform.xyz
vectorToTransform - the vector to transform. Modified.SingularMatrixException - if this matrix is not invertible.void inverseTransform(Vector4DReadOnly vectorOriginal, Vector4DBasics vectorTransformed)
vectorOriginal by this matrix and stores the result in vectorTransformed.
vectorTransformed.s = vectorOriginal.s
vectorTransformed.xyz = this-1 * vectorOriginal.xyz
vectorOriginal - the vector to transform. Not modified.vectorTransformed - the vector in which the result is stored. Modified.SingularMatrixException - if this matrix is not invertible.default boolean equals(Matrix3DReadOnly other)
other.
The method returns false if the given matrix is null.
other - the other matrix to compare against this. Not modified.true if the two matrices are exactly equal component-wise, false
otherwise.default boolean epsilonEquals(Matrix3DReadOnly other, double epsilon)
other to an
epsilon.other - the other matrix to compare against this. Not modified.epsilon - the tolerance to use when comparing each component.true if the two matrices are equal, false otherwise.