munsell
Version:
Library for Munsell Color System
37 lines • 1.74 kB
TypeScript
/**
* Provides several arithmetic operations (mainly in a circle group) which are
* called only internally.
*
* Note that no functions take `multiple laps' into consideration: i.e. the arc
* length of the interval [-2pi, 2pi] is not 4pi but 0.
* @module
*/
export type Vector2 = [number, number];
export type Vector3 = [number, number, number];
export type Matrix33 = [Vector3, Vector3, Vector3];
export declare const TWO_PI: number;
export declare const mod: (dividend: number, divisor: number) => number;
export declare const clamp: (x: number, min: number, max: number) => number;
export declare const cartesianToPolar: (x: number, y: number, perimeter?: number) => Vector2;
export declare const polarToCartesian: (r: number, theta: number, perimeter?: number) => Vector2;
/**
* Is a counterclockwise linear interpolation from theta1 to theta2 in a
* circle group. It is guaranteed that the returned value is within the
* given interval if amount is in [0, 1].
* @param amount - should be in [0, 1]
* @param theta1
* @param theta2
* @param [perimeter]
*/
export declare const circularLerp: (amount: number, theta1: number, theta2: number, perimeter?: number) => number;
/**
* Returns the 'difference' of two values in a circle group. The returned value
* Δ satisfies theta2 + Δ ≡ theta1 and -perimeter/2 <= Δ <= perimeter/2.
* @param theta1
* @param theta2
* @param [perimter]
*/
export declare const circularDelta: (theta1: number, theta2: number, perimeter?: number) => number;
export declare const multMatrixVector: (A: Matrix33, x: Vector3) => Vector3;
export declare const multMatrixMatrix: (A: Matrix33, B: Matrix33) => Matrix33;
//# sourceMappingURL=arithmetic.d.ts.map