Skip to main content
Version: bleeding-edge ๐Ÿฉธ

๐Ÿงฎ Matrix

A 4x4 transformation Matrix built from a rotation and an origin, which can be used for geometric and positional calculations. This is mainly used internally.


๐ŸŽ’ Examplesโ€‹

-- Builds a matrix rotated 90 degrees in Yaw, placed at (100, 0, 0)
local matrix = Matrix(Rotator(0, 90, 0), Vector(100, 0, 0))

-- Rotates a direction by the matrix rotation (the origin is not applied)
local rotated_direction = matrix:TransformVector(Vector(50, 0, 0))

๐Ÿ›  Constructorsโ€‹

Default Constructorโ€‹

No description provided

local my_matrix = Matrix(rotation, origin)

Parameters

TypeNameDefaultDescription
Rotatorrotation Required parameter The rotation of the matrix
Vectororigin Required parameter The origin of the matrix

๐Ÿฆ  Functionsโ€‹

ReturnsNameDescription
VectorTransformVectorRotates the Vector by this Matrix rotation (the origin is not applied)
MatrixGetTransposedReturns a new matrix transposed (Wikipedia)

Optimal

TransformVectorโ€‹

Rotates the Vector by this Matrix rotation (the origin is not applied)
local ret = my_matrix:TransformVector(vector)

Parameters

TypeParameterDefaultDescription
Vectorvector Required parameter The Vector to be transformed

Returns

TypeDescription
VectorThe new vector

Optimal

GetTransposedโ€‹

Returns a new matrix transposed (Wikipedia)
local ret = my_matrix:GetTransposed()

Returns

TypeDescription
MatrixThe transposed matrix