fast-vector
TypeScript icon, indicating that this package has built-in type declarations

2.3.3 • Public • Published

fast-vector

Actions Status Dependencies codecov Package Quality NPM License: MIT

🚀 FastVector is a library for working with Vector2 in Javascript.

Instalation

yarn add fast-vector

Usage

import FastVector from 'fast-vector';
 
// add
const a1 = new FastVector(50, 30);
const b1 = new FastVector(10, 20);
const c1 = a1.add(10, 5);
 
// sub
const a2 = new FastVector(50, 30);
const b2 = new FastVector(10, 20);
const c2 = a1.sub(b1);
 
// div
const a3 = new FastVector(50, 30);
const c3 = a2.div(10);
 
// normalize
const a4 = new FastVector(50, 30);
const norm = a4.normalize();
 
// linear interpolation
const a5 = FastVector.lerp(a1, b1, 0.5);

Methods

.clone(): FastVector

.add(x: FastVector | number, y?: number): FastVector

.sub(x: FastVector | number, y?: number): FastVector

.mul(value: number): FastVector

.mul(x: number, y?: number): FastVector

.div(value: number): FastVector

.div(x: number, y?: number): FastVector

.dot(vector: FastVector): number

.lerp(vector: FastVector, t: number): FastVector

.cross(vector: FastVector): number

.angle(): number

.angleBetween(vector: FastVector): number

.limit(length: number): FastVector

.reflect(i: FastVector, n: FastVector): FastVector

.equals(vector: FastVector): boolean

.distance(vector: FastVector): number

.magnitude(): number

.magnitudeSquare(): number

.normalize(): FastVector

.toObject(): { x: number; y: number }

.toArray(): [number, number]

.toString(): string

FastVector.fromObject(obj: { x: number; y: number }): FastVector

FastVector.fromArray(arr: [number, number]): FastVector

FastVector.zero = new FastVector(0, 0)

FastVector.up = new FastVector(0, -1)

FastVector.down = new FastVector(0, 1)

FastVector.left = new FastVector(-1, 0)

FastVector.right = new FastVector(1, 0)

FastVector.epsilon = 0.00001

FastVector.add(a: FastVector, x: FastVector | number, y?: number): FastVector

FastVector.sub(a: FastVector, x: FastVector | number, y?: number): FastVector

FastVector.mul(a: FastVector, value: number): FastVector

FastVector.mul(a: FastVector, x: number, y?: number): FastVector

FastVector.div(a: FastVector, value: number): FastVector

FastVector.div(a: FastVector, x: number, y?: number): FastVector

FastVector.dot(a: FastVector, b: FastVector): number

FastVector.lerp(a: FastVector, b: FastVector, t: number): FastVector

FastVector.cross(a: FastVector, b: FastVector): number

FastVector.angle(vector: FastVector): number

FastVector.angleBetween(a: FastVector, b: FastVector): number

FastVector.limit(vector: FastVector, length: number): FastVector

FastVector.equals(a: FastVector, b: FastVector): boolean

FastVector.distance(a: FastVector, b: FastVector): number

FastVector.magnitude(vector: FastVector): number

FastVector.magnitudeSquare(vector: FastVector): number

FastVector.normalize(vector: FastVector): FastVector

Package Sidebar

Install

npm i fast-vector

Weekly Downloads

164

Version

2.3.3

License

MIT

Unpacked Size

30.2 kB

Total Files

14

Last publish

Collaborators

  • margintop3498
  • dean-prnd