Класс представляющий матрицу 3x3.
const m = new Matrix3();
Метод set() принимает аргументы в порядке row-major, а внутренне они хранятся в массиве elements в порядке колонок.
Это означает, что вызов
m.set(11, 12, 13,
21, 22, 23,
31, 32, 33);
приведет к созданию массива elements, содержащего:
m.elements = [11, 21, 31,
12, 22, 32,
13, 23, 33];
и внутри все вычисления выполняются с использованием упорядочивания по столбцам. Однако, поскольку фактический порядок не имеет математического значения, а большинство людей привыкли думать о матрицах в порядке возрастания строк, в документации Verge3D матрицы показаны в порядке возрастания строк. Просто имейте в виду, что если вы читаете исходный код, вам придется изучить transpose любых матриц, описанных здесь, чтобы понять смысл вычислений.
Создает и инициализирует матрицу Matrix3 посредством 3x3 identity matrix.
Список column-major значений матрицы.
Создает новую матрицу Matrix3 и с элементами, идентичными данной матрице.
Копирует элементы матрицы m в данную матрицу.
Вычисляет и возвращает determinant данной матрицы.
Возвращает true, если эта матрица и m равны.
Извлекает basis этой матрицы в три предоставленных осевых вектора. Если эта матрица является:
a, b, c,
d, e, f,
g, h, i
то для xAxis, yAxis, zAxis будут установлены значения:
xAxis = (a, d, g)
yAxis = (b, e, h)
zAxis = (c, f, i)
array — массив для чтения элементов из него.
offset — (необязательный) индекс первого элемента в массиве. По умолчанию равен 0.
Устанавливает элементы этой матрицы на основе массива в формате column-major.
Инвертирует эту матрицу, используя analytic method. Вы не можете инвертировать матрицу с детерминантом, равным нулю. Если вы попытаетесь это сделать, метод выдаст нулевую матрицу.
m - Matrix4
Устанавливает эту матрицу как левую верхнюю часть 3x3 normal matrix
переданной matrix4. Нормальная матрица является inverse transpose
матрицы m.
Сбрасывает эту матрицу в матрицу идентичности 3x3:
1, 0, 0
0, 1, 0
0, 0, 1
Умножает эту матрицу на m.
Устанавливает эту матрицу в a x b.
Умножает каждый компонент матрицы на скалярное значение s.
n11 — значение, которое нужно поместить в строку 1, столбец 1.
n12 — значение, которое нужно поместить в строку 1, столбец 2.
...
...
n32 — значение, которое нужно поместить в строку 3, столбец 2.
n33 — значение, которое нужно поместить в строку 3, столбец 3.
Устанавливает значения матрицы 3x3 в заданную row-major последовательность значений.
Предварительно умножает эту матрицу на m.
Установите эту матрицу в верхнюю матрицу 3x3 матрицы4 m.
tx — смещение x
ty — смещение y
sx — повтор x
sy — повтор y
rotation — вращение (в радианах)
cx — центр x вращения
cy — центр y вращения
Устанавливает матрицу трансформации UV из смещения, повтора, вращения и центра.
array — (необязательный) массив для хранения результирующего вектора. Если не указан, будет создан новый массив.
offset — (необязательно) смещение в массиве, на которое следует поместить результат.
Записывает элементы данной матрицы в массив в формате
column-major.
Transposes эту матрицу на место.
array - массив для хранения результирующего вектора.
Transposes эту матрицу в заданный массив и возвращает себя без изменений.
О том как получить исходный код этого модуля читайте тут.