UNPKG

@thi.ng/matrices

Version:

Matrix & quaternion operations for 2D/3D geometry processing

69 lines 1.84 kB
import type { ReadonlyVec, Vec, VecOpVV } from "@thi.ng/vectors"; import type { MatOpMV, MultiMatOpMV, ReadonlyMat } from "./api.js"; /** * Matrix-vector multiplication. Supports in-place modification, i.e. if * `out === v`. * * @param out - * @param m - * @param v - */ export declare const mulV: MultiMatOpMV; /** * Multiplies 2x2 matrix `m` with 2D vector `v`. Supports in-place * modification, i.e. if `out === v`. * * @param out - * @param m - * @param v - */ export declare const mulV22: MatOpMV; /** * Multiplies 2x3 matrix `m` with 2D vector `v`. Supports in-place * modification, i.e. if `out === v`. * * @param out - * @param m - * @param v - */ export declare const mulV23: MatOpMV; /** * Multiplies 3x3 matrix `m` with 3D vector `v`. Supports in-place * modification, i.e. if `out === v`. * * @param out - * @param m - * @param v - */ export declare const mulV33: MatOpMV; /** * Multiplies 4x4 matrix `m` with 4D vector `v`. Supports in-place * modification, i.e. if `out === v`. * * @param out - * @param m - * @param v - */ export declare const mulV44: MatOpMV; /** * Multiplies 4x4 matrix `m` with 3D vector `v` and assumes initial * `w=1`, i.e. the vector is interpreted as `[x,y,z,1]`. After * transformation applies perspective divide of the resulting XYZ * components. Returns `undefined` if the computed perspective divisor * is zero (and would cause `NaN` results). * * @param out - * @param m - * @param v - */ export declare const mulV344: (out: Vec | null, m: ReadonlyMat, v: ReadonlyVec) => Vec<number> | undefined; /** * Multiplies quaternion `q` with 3D vector `v`. Returns transformed * vector or modifies in-place if `out` is null or `v`. * * @param out - * @param q - * @param v - */ export declare const mulVQ: VecOpVV; //# sourceMappingURL=mulv.d.ts.map