@plurid/plurid-engine
Version:
Plurid Engine and Utility Functions
38 lines (37 loc) • 1.54 kB
TypeScript
import { Quaternion } from '../../quaternion';
export declare type Matrix = number[][];
export declare const getInitialMatrix: () => Matrix;
export declare const multiplyMatrices: (m1: Matrix, m2: Matrix) => Matrix;
/**
* Multiplies multiple `matrices`, must contain at least 2.
*
* @param matrices
* @returns
*/
export declare const multiplyMatricesArray: (matrices: Matrix[]) => Matrix;
export declare const arrayToMatrix: (array: number[]) => Matrix;
export declare const matrixToArray: (matrix: Matrix) => number[];
/**
* Parse a `matrix3d` string into a `Matrix`.
*
* @param value
* @returns
*/
export declare const matrix3DToMatrix: (value: string) => Matrix;
export declare const printMatrix: (matrix: Matrix, name: string) => void;
export declare const rotateXMatrix: (angle: number) => Matrix;
export declare const rotateYMatrix: (angle: number) => Matrix;
export declare const rotateZMatrix: (angle: number) => Matrix;
export declare const translateMatrix: (x?: number, y?: number, z?: number) => Matrix;
export declare const scaleMatrix: (s: number) => Matrix;
export declare function rotationMatrixFromQuaternion(quaternion: Quaternion): Matrix;
export declare const matrixToCSSMatrix: (matrix: Matrix) => string;
export declare const identityMatrix: () => Matrix;
/**
* Inverse a matrix based on
* https://github.com/josdejong/mathjs/blob/develop/src/function/matrix/inv.js
*
* @param matrix
* @returns
*/
export declare const inverseMatrix: (matrix: Matrix) => Matrix;