View Source SpaceDust.Math.Matrix (Space Dust v0.1.0)

Matrix operations

Summary

Functions

determinant of a 3x3 matrix

create a 3x3 matrix from a nested list

get the value at a specific row and column

multiply two 3x3 matrices

create a 3x3 rotation matrix from Euler angles

transpose a 3x3 matrix

Types

matrix()

@type matrix() :: %SpaceDust.Math.Matrix.Matrix3x3{
  m11: number(),
  m12: number(),
  m13: number(),
  m21: number(),
  m22: number(),
  m23: number(),
  m31: number(),
  m32: number(),
  m33: number()
}

Functions

determinant(a)

@spec determinant(matrix()) :: number()

determinant of a 3x3 matrix

fromNestedList(list)

@spec fromNestedList([[number()]]) :: matrix()

create a 3x3 matrix from a nested list

get(a, row, col)

@spec get(matrix(), integer(), integer()) :: number()

get the value at a specific row and column

multiply(a, b)

@spec multiply(matrix(), matrix()) :: matrix()

multiply two 3x3 matrices

rotationMatrixFromEuler(roll, pitch, yaw)

@spec rotationMatrixFromEuler(number(), number(), number()) :: matrix()

create a 3x3 rotation matrix from Euler angles

transpose(a)

@spec transpose(matrix()) :: matrix()

transpose a 3x3 matrix