nowjs-core
Version:
NowCanDo Javascript Core [nowjs-core] is a library written by TypeScript code maintains under Apache 2.0 licence
43 lines (42 loc) • 1.76 kB
TypeScript
import { Point3D } from './Point3D';
export declare class Vector3D extends Point3D {
constructor(x?: number, y?: number, z?: number);
static negative(a: Vector3D, b: Vector3D): Vector3D;
static add(a: Vector3D, b: Vector3D | number, c?: Vector3D): Vector3D;
static subtract(a: Vector3D, b: Vector3D | number, c?: Vector3D): Vector3D;
static multiply(a: Vector3D, b: Vector3D | number, c?: Vector3D): Vector3D;
static divide(a: Vector3D, b: Vector3D | number, c?: Vector3D): Vector3D;
static cross(a: Vector3D, b: Vector3D, c?: Vector3D): Vector3D;
static unit(a: Vector3D, b: Vector3D): Vector3D;
static fromBearing(angle: number, length: number): Vector3D;
static fromAngles(theta: number, phi: number): Vector3D;
static randomDirection(): Vector3D;
static min(a: Vector3D, b: Vector3D): Vector3D;
static max(a: Vector3D, b: Vector3D): Vector3D;
static lerp(a: Vector3D, b: Vector3D, fraction: number): Vector3D;
static fromArray(a: number[]): Vector3D;
static angleBetween(a: Vector3D, b: Vector3D): number;
negative(): Vector3D;
add(v: Vector3D | number): Vector3D;
subtract(v: Vector3D | number): Vector3D;
multiply(v: Vector3D | number): Vector3D;
divide(v: Vector3D | number): Vector3D;
equals(v: Vector3D): boolean;
dot(v: Vector3D): number;
cross(v: Vector3D): Vector3D;
magnitude(): number;
length(): number;
unit(): Vector3D;
min(): number;
max(): number;
toAngles(): {
theta: number;
phi: number;
};
angleTo(a: Vector3D): number;
areaOfTriangle(a: Vector3D): number;
volumeOfVectors(a: Vector3D, b: Vector3D): number;
toArray(n?: number): number[];
clone(): Vector3D;
private init;
}