import type { PointLike } from './Point'; import type { Vector } from './Vector'; /** * Class representing an affine transformation 3x3 matrix: *
* [ a c tx * A = b d ty * 0 0 1 ] *; static IDENTITY: Readonly
* [x' [ ax + by + tx
* y' = cx + dy + ty
* 1] 1 ]
*
*/
transform(x: number, y: number): [number, number];
transformMut(p: PointLike): PointLike;
/**
* Returns result of multiplication of this matrix by other matrix
*/
multiply(other: Matrix): Matrix;
multiplyMut(other: Matrix): this;
/**
* Return new matrix as a result of multiplication of the current matrix
* by the matrix(1,0,0,1,tx,ty)
*/
translate(v: Vector): Matrix;
translate(x: number, y: number): Matrix;
/**
* Return new matrix as a result of multiplication of the current matrix
* by the matrix that defines rotation by given angle (in radians) around
* center of rotation (centerX,centerY) in counterclockwise direction
* @param angle - angle in radians
* @param centerX - center of rotation
* @param centerY - center of rotation
*/
rotate(angle: number, centerX?: number, centerY?: number): Matrix;
/**
* Return new matrix as a result of multiplication of the current matrix
* by the matrix (sx,0,0,sy,0,0) that defines scaling
* @param sx
* @param sy
*/
scale(sx: number, sy: number): Matrix;
/**
* Returns true if two matrix are equal parameter by parameter
*/
equalTo(matrix: Matrix): boolean;
isIdentity(): boolean;
}
/**
* Function to create matrix equivalent to "new" constructor
*/
export declare const matrix: (a?: number, b?: number, c?: number, d?: number, tx?: number, ty?: number) => Matrix;
//# sourceMappingURL=Matrix.d.ts.map