export declare type Vec3 = [number, number, number]; export declare type Vec4 = [number, number, number, number]; export default class Quaternion { raw: Vec4; constructor(x?: number, y?: number, z?: number, w?: number); /** * Static version of quaternion multiplication * * @param {Quaternion} a * @param {Quaternion} b * @returns {Quaternion} a * b */ static mult(a: Quaternion, b: Quaternion): Quaternion; /** * * Quaternion in-place multiplication * Input multiplies on the right * * @param {Quaternion} a */ mult(a: Quaternion): void; /** * * Static convenience function for Quaternion * rotation of a vector * * @param {Quaternion} q * @param {Array length=3} v * @returns {Array length=3} rotated vector */ static rotate(q: Quaternion, v: Vec3): Vec3; /** * Quaternion rotation of input vector * * @param {Array length=3} v * @returns {Array length=3} rotated vector */ rotate(v: Vec3): Vec3; /** * * @returns {Quaternion} unit quaternion */ static identity(): Quaternion; /** * * Quaternion representing rotation about x axis * by theta radians * * @param {Number} theta Angle to rotate, in radians * @returns {Quaternion} */ static rotx(theta: number): Quaternion; /** * * Quaternion representing rotation about y axis * by theta radians * * @param {Number} theta Angle to rotate, in radians * @returns {Quaternion} */ static roty(theta: number): Quaternion; /** * * Quaternion representing rotation about z axis * by theta radians * * @param {Number} theta Angle to rotate, in radians * @returns {Quaternion} */ static rotz(theta: number): Quaternion; /** * * @returns {Quaternion} Conjugate of quaternion */ conjugate(): Quaternion; /** * * @returns {Quaternion} Conjugate of quaternion */ conj(): Quaternion; /** * * @returns {Number} Angle of rotation of quaternion, radians */ angle(): number; /** * * @returns {Number} Angle of rotation of quaternion, degerees */ angle_deg(): number; /** * * @returns {Number} Norm of quaternion */ norm(): number; /** * * @returns {Number} Norm of vector elements of quaternion */ vnorm(): number; /** * Normalize the quaternion in place */ normalized(): void; /** * * @returns {Array length=3} Axis of rotation of quaternion */ axis(): Vec3; /** * * @returns {String} string representation of quaternion */ toString(): string; } //# sourceMappingURL=quaternion.d.ts.map