AffineTransformationMatrix3

data class AffineTransformationMatrix3(val m00: Double, val m01: Double, val m02: Double, val m03: Double, val m10: Double, val m11: Double, val m12: Double, val m13: Double, val m20: Double, val m21: Double, val m22: Double, val m23: Double) : Transformer<Vec3> (source)

Represents a 3D affine transformation matrix.

Constructors

Link copied to clipboard
constructor(m00: Double, m01: Double, m02: Double, m03: Double, m10: Double, m11: Double, m12: Double, m13: Double, m20: Double, m21: Double, m22: Double, m23: Double)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val m00: Double

The element at row 0, column 0.

Link copied to clipboard
val m01: Double

The element at row 0, column 1.

Link copied to clipboard
val m02: Double

The element at row 0, column 2.

Link copied to clipboard
val m03: Double

The element at row 0, column 3.

Link copied to clipboard
val m10: Double

The element at row 1, column 0.

Link copied to clipboard
val m11: Double

The element at row 1, column 1.

Link copied to clipboard
val m12: Double

The element at row 1, column 2.

Link copied to clipboard
val m13: Double

The element at row 1, column 3.

Link copied to clipboard
val m20: Double

The element at row 2, column 0.

Link copied to clipboard
val m21: Double

The element at row 2, column 1.

Link copied to clipboard
val m22: Double

The element at row 2, column 2.

Link copied to clipboard
val m23: Double

The element at row 2, column 3.

Functions

Link copied to clipboard
open override fun apply(obj: Vec3): Vec3

Applies the transformation to a point.

Link copied to clipboard

Returns a string representation of the transformation matrix.

Link copied to clipboard
fun eq(other: AffineTransformationMatrix3, equivalence: DoubleEquivalence = DEFAULT_DOUBLE_EQUIVALENCE): Boolean

Tests if two affine transformation matrices are approximately equal.

Link copied to clipboard

Get the inverse of this transformation.

Link copied to clipboard
open override fun preserveOrientation(): Boolean

Checks if the transformation preserves the orientation of points. For example: In 3D space, a translation preserves orientation, while a reflection does not.

Link copied to clipboard
fun rotate(firstAngle: Double, secondAngle: Double, thirdAngle: Double, sequence: RotationSequence, angleUnit: AngleUnit = AngleUnit.RADIANS): AffineTransformationMatrix3

Applies a combined rotation around multiple axes using the specified rotation sequence.

Link copied to clipboard
fun rotateX(angle: Double, angleUnit: AngleUnit = AngleUnit.RADIANS): AffineTransformationMatrix3

Rotates the transformation matrix around the X-axis by a specified angle.

Link copied to clipboard
fun rotateY(angle: Double, angleUnit: AngleUnit = AngleUnit.RADIANS): AffineTransformationMatrix3

Rotates the transformation matrix around the Y-axis by a specified angle.

Link copied to clipboard
fun rotateZ(angle: Double, angleUnit: AngleUnit = AngleUnit.RADIANS): AffineTransformationMatrix3

Rotates the transformation matrix around the Z-axis by a specified angle.

Link copied to clipboard

Scales the transformation matrix by the specified scale vector.

Scales the transformation matrix by the specified factor.

Link copied to clipboard

Multiplies this affine transformation matrix by another affine transformation matrix.

Link copied to clipboard

Get the array representation of the transformation matrix.

Link copied to clipboard

Translates the transformation matrix by the specified translation vector.

Translates the transformation matrix by the specified x, y, and z values.