Provides a collection of mathematical utility functions and constants.
Defines a 3D vector and various related operations.
Implements a generic Kalman Filter for 1D data.
Represents a 3D rotation matrix and provides operations for rotation and matrix manipulation.
String ToString()
Converts the rotation matrix to a string representation.
RotationMatrix()
Default constructor. Initializes the matrix to the identity matrix.
Vector3D RotateZ(float theta)
Rotates the matrix around the Z-axis.
Vector3D YAxis
Y-axis vector of the rotation matrix.
bool IsEqual(RotationMatrix rM)
Checks if two rotation matrices are equal.
Vector3D InitialVector
Initial vector used for transformations.
RotationMatrix operator=(RotationMatrix rM)
Assignment operator for rotation matrices.
Vector3D Rotate(Vector3D rotation)
Rotates the matrix by a given rotation vector.
void ReadjustMatrix()
Recalculates and adjusts the rotation matrix axes to maintain orthogonality.
RotationMatrix Multiply(float d)
Multiplies the rotation matrix by a scalar.
float Determinant()
Computes the determinant of the rotation matrix.
Vector3D RotateY(float theta)
Rotates the matrix around the Y-axis.
Vector3D ConvertCoordinateToVector()
Converts the current coordinate system to a vector representation.
RotationMatrix Normalize()
Normalizes the rotation matrix to ensure orthogonality.
RotationMatrix Transpose()
Transposes the rotation matrix.
RotationMatrix Inverse()
Inverts the rotation matrix.
bool didRotate
Tracks whether the matrix has been rotated.
Vector3D XAxis
X-axis vector of the rotation matrix.
Vector3D ZAxis
Z-axis vector of the rotation matrix.
void RotateRelative(RotationMatrix rM)
Rotates this matrix relative to another rotation matrix.
static Vector3D RotateVector(Vector3D rotate, Vector3D coordinates)
Rotates a vector using the rotation matrix.
Vector3D RotateX(float theta)
Rotates the matrix around the X-axis.
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.