inverse-kinematics
Version:
Inverse kinematics for 2D and 3D applications
56 lines (55 loc) • 2.42 kB
TypeScript
import { Quaternion } from './Quaternion';
import { V2 } from './V2';
import { V3 } from './V3';
export declare const add: (a: V3, b: V3) => V3;
export declare const sum: (vectors: V3[]) => V3;
/**
* @returns a - b
*/
export declare const subtract: (base: V3, subtraction: V3) => V3;
/**
* @returns element-wise multiplication of base and multiplier
*/
export declare const multiply: (base: V3, multiplier: V3) => V3;
/**
* @returns a / b
*/
export declare const divide: (base: V3, divisor: V3) => V3;
export declare const scale: (base: V3, factor: number) => V3;
export declare const sign: (vector: V3) => V3;
export declare const normalise: (vector: V3) => V3;
export declare const extractXY: (vector: V3) => V2;
export declare const extractXZ: (vector: V3) => V2;
export declare const extractYZ: (vector: V3) => V2;
export declare const sqrEuclideanLength: (vector: V3) => number;
export declare const manhattanLength: (vector: V3) => number;
export declare const dotProduct: (a: V3, b: V3) => number;
export declare const crossProduct: (a: V3, b: V3) => V3;
export declare const euclideanLength: (vector: V3) => number;
export declare const sqrEuclideanDistance: (a: V3, b: V3) => number;
export declare const euclideanDistance: (a: V3, b: V3) => number;
export declare const lerp: (from: V3, to: V3, amount: number) => V3;
export declare const lerpTheta: (from: V3, to: V3, amount: number) => V3;
export declare const up: () => V3;
export declare const down: () => V3;
export declare const right: () => V3;
export declare const left: () => V3;
export declare const forwards: () => V3;
export declare const back: () => V3;
export declare const zero: () => V3;
export declare const copy: (vector: V3) => V3;
export declare const flipX: (vector: V3) => V3;
export declare const flipY: (vector: V3) => V3;
export declare const flipZ: (vector: V3) => V3;
export declare const clamp: (vector: V3, min: V3, max: V3) => V3;
export declare const random: () => V3;
export declare const randomRange: (min: number, max: number) => V3;
export declare const fromArray: (array: number[]) => V3;
export declare const fromVector3: (vector: {
x: number;
y: number;
z: number;
}) => V3;
export declare const rotate: (vector: V3, rotation: Quaternion) => V3;
export declare const fromPolar: (radius: number, angle: Quaternion) => V3;
export declare const toPolar: (vector: V3) => [radius: number, angle: Quaternion];