Repository navigation
Library: Math: Matrix
Aviril edited this page Nov 29, 2024
·
4 revisions
Matrices are collection of variables represented in tabular format (Rows & Columns). Often we've have to deal with multiple coordinates when either dealing with general or complex mathematics; Matrices do help a lot to make the workflow easier in such scenarios. Moreover they are also widely used in games for representing element's positional/rotational matrix.
If you still have no idea how useful they are or where to apply/utilize them in the right way, then make sure to read: https://personalpages.manchester.ac.uk/staff/ctdodson/matrices.pdf
It gets imported automatically by default whenever you initialize assetify.
--Declare it globally only once
loadstring(exports.assetify_library:import())()local cMatrix1, cMatrix2 = math.matrix({1, 1, 1, 1}, {1, 1, 1, 1}), math.matrix({2, 2, 2, 2}, {2, 2, 2, 2})
local resultant = cMatrix1 + cMatrix2local cMatrix1, cMatrix2 = math.matrix({1, 1, 1, 1}, {1, 1, 1, 1}), math.matrix({2, 2, 2, 2}, {2, 2, 2, 2})
local resultant = cMatrix1 - cMatrix2local cMatrix1, cMatrix2 = math.matrix({1, 1, 1, 1}, {1, 1, 1, 1}), math.matrix({2, 2, 2, 2}, {2, 2, 2, 2})
local resultant = cMatrix1 * cMatrix2local cMatrix1, cMatrix2 = math.matrix({1, 1, 1, 1}, {1, 1, 1, 1}), math.matrix({2, 2, 2, 2}, {2, 2, 2, 2})
local resultant = cMatrix1 / cMatrix2local string: type = self:getType()local matrix: cMatrix = math.matrix(
~: ...{~float: ...values}
)local bool: result = self:destroy()local matrix: self = self:scale(
float: scale
)--Note: All coordinates must be offsets, i.e, they must be relative
local matrix: cMatrix = self:transform(
matrix: rotationMatrix,
float: x,
float: y,
float: z
)