UNPKG

@plurid/plurid-engine

Version:
79 lines (78 loc) 1.9 kB
/** * Converts degrees to radians. * * @param deg * @returns radians */ export declare const degToRad: (deg: number) => number; /** * Converts radians to degrees. * * @param deg * @returns degrees */ export declare const radToDeg: (rad: number) => number; export interface Quaternion { x: number; y: number; z: number; w: number; } /** * * @param x * @param y * @param z * @param w * @returns {Quaternion} */ export declare const makeQuaternion: (x: number, y: number, z: number, w: number) => Quaternion; /** * Returns all-fields 0-ed quaternion. * * @returns {Quaternion} */ export declare const zeroQuaternion: () => Quaternion; /** * * @param quaternion */ export declare function inverseQuaternion(quaternion: Quaternion): Quaternion; /** * * @param quaternion */ export declare function conjugateQuaternion(quaternion: Quaternion): Quaternion; /** * Generates quaternion based on Euler angles (in radians). * * @param alpha around Z axis * @param beta around X axis * @param gamma around Y axis * @returns {Quaternion} */ export declare function computeQuaternionFromEulers(alpha: number, beta: number, gamma: number, radians?: boolean): Quaternion; /** * * @param x * @param y * @param z * @param angle */ export declare function quaternionFromAxisAngle(x: number, y: number, z: number, angle: number): Quaternion; /** * * @param quaternionArray */ export declare function quaternionMultiply(quaternionArray: Quaternion[]): Quaternion; /** * * @param pointRotate * @param quaternion */ export declare function rotatePointViaQuaternion(pointRotate: [number, number, number], quaternion: Quaternion): Quaternion; /** * * @param quaternion */ export declare function makeRotationMatrixFromQuaternion(quaternion: Quaternion): number[];