Skip to content

@orillusion/core


Class: Vector2 ​

Defined in: src/math/Vector2.ts:6

Vector 2D

Constructors ​

Constructor ​

new Vector2(x?, y?): Vector2

Defined in: src/math/Vector2.ts:47

Create a new Vector2.

Parameters ​

x? ​

number = 0

The x component of the vector, which defaults to 0.

y? ​

number = 0

The y component of the vector, which defaults to 0.

Returns ​

Vector2

Properties ​

ZERO ​

readonly static ZERO: Vector2

Defined in: src/math/Vector2.ts:24

A zero vector (0, 0).


SAFE_MAX ​

readonly static SAFE_MAX: Vector2

Defined in: src/math/Vector2.ts:27

A vector whose components are the maximum safe integer.


SAFE_MIN ​

readonly static SAFE_MIN: Vector2

Defined in: src/math/Vector2.ts:30

A vector whose components are the minimum safe integer.


x ​

x: number = 0.0

Defined in: src/math/Vector2.ts:35

The x component of the vector, the default value is 0.


y ​

y: number = 0.0

Defined in: src/math/Vector2.ts:40

The y component of the vector, the default value is 0.

Methods ​

getAngle() ​

static getAngle(a, b): number

Defined in: src/math/Vector2.ts:58

Returns the Angle, in radians, between two vectors.

Parameters ​

a ​

Vector2

Vector a

b ​

Vector2

Vector b

Returns ​

number

result


slerp() ​

static slerp(from, to, t): Vector2

Defined in: src/math/Vector2.ts:68

Computes linear interpolation between two vectors.

Parameters ​

from ​

Vector2

starting vector

to ​

Vector2

The vector in which you interpolate

t ​

number

Returns ​

Vector2


lerp() ​

static lerp(from, to, t): Vector2

Defined in: src/math/Vector2.ts:97

Linear interpolation between two vectors.

Parameters ​

from ​

Vector2

starting vector

to ​

Vector2

The vector in which you interpolate

t ​

number

Returns ​

Vector2


add() ​

static add(a, b, result?): Vector2

Defined in: src/math/Vector2.ts:108

Add two vectors

Parameters ​

a ​

Vector2

b ​

Vector2

result? ​

Vector2

Returns ​

Vector2


sub() ​

static sub(a, b, result?): Vector2

Defined in: src/math/Vector2.ts:118

Subtract two vectors

Parameters ​

a ​

Vector2

b ​

Vector2

result? ​

Vector2

Returns ​

Vector2


multiply() ​

static multiply(a, b, result?): Vector2

Defined in: src/math/Vector2.ts:128

Component-wise multiply two vectors

Parameters ​

a ​

Vector2

b ​

Vector2

result? ​

Vector2

Returns ​

Vector2


divide() ​

static divide(a, b, result?): Vector2

Defined in: src/math/Vector2.ts:138

Component-wise divide two vectors

Parameters ​

a ​

Vector2

b ​

Vector2

result? ​

Vector2

Returns ​

Vector2


multiplyScalar() ​

static multiplyScalar(a, s, result?): Vector2

Defined in: src/math/Vector2.ts:148

Multiply a vector by a scalar

Parameters ​

a ​

Vector2

s ​

number

result? ​

Vector2

Returns ​

Vector2


negate() ​

static negate(a, result?): Vector2

Defined in: src/math/Vector2.ts:158

Negate a vector

Parameters ​

a ​

Vector2

result? ​

Vector2

Returns ​

Vector2


set() ​

set(x?, y?): this

Defined in: src/math/Vector2.ts:170

Sets the x and y components of this vector.

Parameters ​

x? ​

number = 0

The x component of the vector, which defaults to 0.

y? ​

number = 0

The y component of the vector, which defaults to 0.

Returns ​

this


distance() ​

distance(a): number

Defined in: src/math/Vector2.ts:181

Calculate the distance between this vector and the incoming vector.

Parameters ​

a ​

Vector2

Target vector

Returns ​

number


add() ​

add(a): this

Defined in: src/math/Vector2.ts:188

Adds vector a to this vector. Mutates and returns this.

Parameters ​

a ​

Vector2

Returns ​

this


sub() ​

sub(a): this

Defined in: src/math/Vector2.ts:195

Subtracts vector a from this vector. Mutates and returns this.

Parameters ​

a ​

Vector2

Returns ​

this


multiplyScalar() ​

multiplyScalar(s): this

Defined in: src/math/Vector2.ts:202

Multiplies x/y of this vector by scalar s. Mutates and returns this.

Parameters ​

s ​

number

Returns ​

this


multiply() ​

multiply(a): this

Defined in: src/math/Vector2.ts:210

Multiplies x/y of this vector by scalar a. Mutates and returns this. Kept as an alternative name for the scalar multiplyScalar.

Parameters ​

a ​

number

Returns ​

this


divide() ​

divide(v): this

Defined in: src/math/Vector2.ts:217

Divides x/y of this vector by scalar v. Mutates and returns this.

Parameters ​

v ​

number

Returns ​

this


neg() ​

neg(): this

Defined in: src/math/Vector2.ts:224

Negates this vector. Mutates and returns this.

Returns ​

this


abs() ​

abs(): number

Defined in: src/math/Vector2.ts:229

Returns the Euclidean length of this vector.

Returns ​

number


length() ​

length(): number

Defined in: src/math/Vector2.ts:237

Length of vector

Returns ​

number


getAngle() ​

getAngle(target): number

Defined in: src/math/Vector2.ts:246

Returns the Angle, in radians, between the current vector and the target vector.

Parameters ​

target ​

Vector2

Target vector

Returns ​

number


unt() ​

unt(): this

Defined in: src/math/Vector2.ts:253

Normalizes this vector to unit length. Mutates and returns this.

Returns ​

this


angleTo() ​

angleTo(v): number

Defined in: src/math/Vector2.ts:261

Returns the angle, in radians, from this vector to v.

Parameters ​

v ​

Vector2

Returns ​

number


equals() ​

equals(a): boolean

Defined in: src/math/Vector2.ts:272

Whether two vectors are equal

Parameters ​

a ​

Vector2

Vector of comparison

Returns ​

boolean


pal() ​

pal(a): number

Defined in: src/math/Vector2.ts:278

Tests parallelism with a: 1 if same direction, -1 if opposite, 0 otherwise.

Parameters ​

a ​

Vector2

Returns ​

number


clone() ​

clone(): Vector2

Defined in: src/math/Vector2.ts:290

Returns a new vector that has the same x and y as the current vector.

Returns ​

Vector2


copy() ​

copy(v): this

Defined in: src/math/Vector2.ts:299

Copy the x and y properties of the source vector to this vector

Parameters ​

v ​

Vector2

Source vector

Returns ​

this


addScaledVector() ​

addScaledVector(v, size): Vector2

Defined in: src/math/Vector2.ts:311

Add scaling vector

Parameters ​

v ​

Vector2

Source vector

size ​

number

Scale size

Returns ​

Vector2


dot() ​

dot(value): number

Defined in: src/math/Vector2.ts:322

Take the dot product of two vectors.

Parameters ​

value ​

Vector2

Target vector

Returns ​

number


normalize() ​

normalize(): this

Defined in: src/math/Vector2.ts:329

Convert this vector to a unit vector.

Returns ​

this


addScalar() ​

addScalar(s): this

Defined in: src/math/Vector2.ts:341

Add the scalar to the x and y of this vector.

Parameters ​

s ​

number

Additive scalar

Returns ​

this


clampScalar() ​

clampScalar(minVal, maxVal): Vector2

Defined in: src/math/Vector2.ts:354

Parameters ​

minVal ​

number

Component will be limited to the minimum value of

maxVal ​

number

The component will be limited to the maximum value of

Returns ​

Vector2


addVectors() ​

addVectors(a, b): this

Defined in: src/math/Vector2.ts:364

Set this = a + b.

Parameters ​

a ​

Vector2

b ​

Vector2

Returns ​

this


subVectors() ​

subVectors(a, b): this

Defined in: src/math/Vector2.ts:369

Set this = a - b.

Parameters ​

a ​

Vector2

b ​

Vector2

Returns ​

this


multiplyVectors() ​

multiplyVectors(a, b): this

Defined in: src/math/Vector2.ts:374

Set this = a * b component-wise.

Parameters ​

a ​

Vector2

b ​

Vector2

Returns ​

this


negate() ​

negate(): this

Defined in: src/math/Vector2.ts:379

Negate this vector. Canonical alias of neg.

Returns ​

this


lengthSq() ​

lengthSq(): number

Defined in: src/math/Vector2.ts:384

Squared length.

Returns ​

number


distanceTo() ​

distanceTo(v): number

Defined in: src/math/Vector2.ts:389

Euclidean distance to v. Canonical alias of distance.

Parameters ​

v ​

Vector2

Returns ​

number


distanceToSquared() ​

distanceToSquared(v): number

Defined in: src/math/Vector2.ts:394

Squared distance to v.

Parameters ​

v ​

Vector2

Returns ​

number


lerp() ​

lerp(v, alpha): this

Defined in: src/math/Vector2.ts:401

Linearly interpolate this towards v by alpha.

Parameters ​

v ​

Vector2

alpha ​

number

Returns ​

this


lerpVectors() ​

lerpVectors(v1, v2, alpha): this

Defined in: src/math/Vector2.ts:408

Set this = v1 + (v2 - v1) * alpha.

Parameters ​

v1 ​

Vector2

v2 ​

Vector2

alpha ​

number

Returns ​

this


min() ​

min(v): this

Defined in: src/math/Vector2.ts:415

Component-wise min/max/clamp.

Parameters ​

v ​

Vector2

Returns ​

this


max() ​

max(v): this

Defined in: src/math/Vector2.ts:422

Component-wise maximum with v. Mutates and returns this.

Parameters ​

v ​

Vector2

Returns ​

this


clamp() ​

clamp(min, max): this

Defined in: src/math/Vector2.ts:429

Component-wise clamp into [min, max]. Mutates and returns this.

Parameters ​

min ​

Vector2

max ​

Vector2

Returns ​

this


floor() ​

floor(): this

Defined in: src/math/Vector2.ts:436

Floors each component. Mutates and returns this.

Returns ​

this


ceil() ​

ceil(): this

Defined in: src/math/Vector2.ts:443

Ceils each component. Mutates and returns this.

Returns ​

this


round() ​

round(): this

Defined in: src/math/Vector2.ts:450

Rounds each component to the nearest integer. Mutates and returns this.

Returns ​

this


roundToZero() ​

roundToZero(): this

Defined in: src/math/Vector2.ts:457

Rounds each component toward zero. Mutates and returns this.

Returns ​

this


fromArray() ​

fromArray(array, offset?): this

Defined in: src/math/Vector2.ts:464

Set x/y from array starting at offset. Mutates and returns this.

Parameters ​

array ​

ArrayLike<number>

offset? ​

number = 0

Returns ​

this


toArray() ​

toArray(array?, offset?): number[]

Defined in: src/math/Vector2.ts:471

Write x/y into array starting at offset and return the array.

Parameters ​

array? ​

number[] = []

offset? ​

number = 0

Returns ​

number[]


rotateAround() ​

rotateAround(center, angle): this

Defined in: src/math/Vector2.ts:478

Rotate this around center by angle (radians).

Parameters ​

center ​

Vector2

angle ​

number

Returns ​

this


random() ​

random(): this

Defined in: src/math/Vector2.ts:488

Fill this with components in [0, 1). Mutates and returns this.

Returns ​

this

Released under the MIT License