Struct Matrix4
- Namespace
- NominalSystems
- Assembly
- NominalSystems.Core.dll
Represents a matrix or table of 16 numbers, within a fixed size of 4 rows and 4 columns.
public struct Matrix4 : IEnumerable<double>, IEnumerable
- Implements
Constructors
Matrix4()
Creates a zero-initialized matrix.
public Matrix4()
Matrix4(in Matrix4)
Creates a deep-copy from another matrix.
public Matrix4(in Matrix4 a)
Parameters
a
Matrix4
Matrix4(in double)
Creates a value-initialized matrix.
public Matrix4(in double a)
Parameters
a
double
Matrix4(in double, in double, in double, in double, in double, in double, in double, in double, in double, in double, in double, in double, in double, in double, in double, in double)
Creates and initializes all matrix values.
public Matrix4(in double m00, in double m01, in double m02, in double m03, in double m10, in double m11, in double m12, in double m13, in double m20, in double m21, in double m22, in double m23, in double m30, in double m31, in double m32, in double m33)
Parameters
m00
doublem01
doublem02
doublem03
doublem10
doublem11
doublem12
doublem13
doublem20
doublem21
doublem22
doublem23
doublem30
doublem31
doublem32
doublem33
double
Fields
M00
The matrix's 1st column value.
public double M00
Field Value
M01
The matrix's 2nd column value.
public double M01
Field Value
M02
The matrix's 3rd column value.
public double M02
Field Value
M03
The matrix's 4th column value.
public double M03
Field Value
M10
The matrix's 1st column value.
public double M10
Field Value
M11
The matrix's 2nd column value.
public double M11
Field Value
M12
The matrix's 3rd column value.
public double M12
Field Value
M13
The matrix's 4th column value.
public double M13
Field Value
M20
The matrix's 1st column value.
public double M20
Field Value
M21
The matrix's 2nd column value.
public double M21
Field Value
M22
The matrix's 3rd column value.
public double M22
Field Value
M23
The matrix's 4th column value.
public double M23
Field Value
M30
The matrix's 1st column value.
public double M30
Field Value
M31
The matrix's 2nd column value.
public double M31
Field Value
M32
The matrix's 3rd column value.
public double M32
Field Value
M33
The matrix's 4th column value.
public double M33
Field Value
Properties
Determinant
A number representing the determinant of the matrix.
public readonly double Determinant { get; }
Property Value
Identity
A matrix with all diagonal values initialized with 1's.
public static Matrix4 Identity { get; }
Property Value
Inverse
A matrix representing the inverse of the matrix.
public readonly Matrix4 Inverse { get; }
Property Value
One
A matrix with all values initialized with 1's.
public static Matrix4 One { get; }
Property Value
Transpose
A matrix representing the transposition/flip of all matrix values by it's diagonal.
public readonly Matrix4 Transpose { get; }
Property Value
Zero
A matrix with all values initialized with 0's.
public static Matrix4 Zero { get; }
Property Value
Methods
Equals(object)
public override readonly bool Equals(object obj)
Parameters
obj
object
Returns
Equals(object, in double)
public readonly bool Equals(object obj, in double precision)
Parameters
Returns
GetEnumerator()
public readonly IEnumerator<double> GetEnumerator()
Returns
GetHashCode()
public override readonly int GetHashCode()
Returns
ToString()
public override readonly string ToString()
Returns
ToString(string)
public readonly string ToString(string fmt)
Parameters
fmt
stringA numeric format string.
Returns
Operators
operator +(in Matrix4, in Matrix4)
Returns the addition of a matrix with another matrix.
public static Matrix4 operator +(in Matrix4 a, in Matrix4 b)
Parameters
Returns
operator +(in Matrix4, in double)
Returns the addition of a matrix with a number.
public static Matrix4 operator +(in Matrix4 a, in double b)
Parameters
Returns
operator +(in double, in Matrix4)
Returns the addition of a number with a matrix.
public static Matrix4 operator +(in double a, in Matrix4 b)
Parameters
Returns
operator /(in Matrix4, in double)
Returns the division of a matrix with a number.
public static Matrix4 operator /(in Matrix4 a, in double b)
Parameters
Returns
operator /(in double, in Matrix4)
Returns the division of a number with a matrix.
public static Matrix4 operator /(in double a, in Matrix4 b)
Parameters
Returns
operator ==(in Matrix4, in Matrix4)
Returns true if all values in a matrix are equal to another matrix.
public static bool operator ==(in Matrix4 a, in Matrix4 b)
Parameters
Returns
operator ==(in Matrix4, in double)
Returns true if all values in a matrix are equal to a number.
public static bool operator ==(in Matrix4 a, in double b)
Parameters
Returns
operator ==(in double, in Matrix4)
Returns true if a number is equal to all values in a matrix.
public static bool operator ==(in double a, in Matrix4 b)
Parameters
Returns
operator >(in Matrix4, in double)
Returns true if all values in a matrix are greater than a number.
public static bool operator >(in Matrix4 a, in double b)
Parameters
Returns
operator >(in double, in Matrix4)
Returns true if a number is greater than all values in a matrix.
public static bool operator >(in double a, in Matrix4 b)
Parameters
Returns
operator >=(in Matrix4, in double)
Returns true if all values in a matrix are greater than or equal to a number.
public static bool operator >=(in Matrix4 a, in double b)
Parameters
Returns
operator >=(in double, in Matrix4)
Returns true if a number is greater than or equal to all values in a matrix.
public static bool operator >=(in double a, in Matrix4 b)
Parameters
Returns
operator !=(in Matrix4, in Matrix4)
Returns true if all values in a matrix are not equal to another matrix.
public static bool operator !=(in Matrix4 a, in Matrix4 b)
Parameters
Returns
operator !=(in Matrix4, in double)
Returns true if all values in a matrix are not equal to a number.
public static bool operator !=(in Matrix4 a, in double b)
Parameters
Returns
operator !=(in double, in Matrix4)
Returns true if a number is not equal to all values in a matrix.
public static bool operator !=(in double a, in Matrix4 b)
Parameters
Returns
operator <(in Matrix4, in double)
Returns true if all values in a matrix are less than a number.
public static bool operator <(in Matrix4 a, in double b)
Parameters
Returns
operator <(in double, in Matrix4)
Returns true if a number is less than all values in a matrix.
public static bool operator <(in double a, in Matrix4 b)
Parameters
Returns
operator <=(in Matrix4, in double)
Returns true if all values in a matrix are less than or equal to a number.
public static bool operator <=(in Matrix4 a, in double b)
Parameters
Returns
operator <=(in double, in Matrix4)
Returns true if a number is less than or equal to all values in a matrix.
public static bool operator <=(in double a, in Matrix4 b)
Parameters
Returns
operator *(in Matrix4, in Matrix4)
Returns the multiplication of a matrix with another matrix.
public static Matrix4 operator *(in Matrix4 a, in Matrix4 b)
Parameters
Returns
operator *(in Matrix4, in Vector4)
Returns the multiplication of a matrix with a column vector.
public static Vector4 operator *(in Matrix4 a, in Vector4 b)
Parameters
Returns
operator *(in Matrix4, in double)
Returns the multiplication of a matrix with a number.
public static Matrix4 operator *(in Matrix4 a, in double b)
Parameters
Returns
operator *(in Vector4, in Matrix4)
Returns the multiplication of a row vector with a matrix.
public static Vector4 operator *(in Vector4 a, in Matrix4 b)
Parameters
Returns
operator *(in double, in Matrix4)
Returns the multiplication of a number with a matrix.
public static Matrix4 operator *(in double a, in Matrix4 b)
Parameters
Returns
operator -(in Matrix4, in Matrix4)
Returns the subtraction of a matrix with another matrix.
public static Matrix4 operator -(in Matrix4 a, in Matrix4 b)
Parameters
Returns
operator -(in Matrix4, in double)
Returns the subtraction of a matrix with a number.
public static Matrix4 operator -(in Matrix4 a, in double b)
Parameters
Returns
operator -(in double, in Matrix4)
Returns the subtraction of a number with a matrix.
public static Matrix4 operator -(in double a, in Matrix4 b)
Parameters
Returns
operator -(in Matrix4)
Returns the negation of all values in a matrix.
public static Matrix4 operator -(in Matrix4 a)
Parameters
a
Matrix4