Skip to content

@vaguevoid/fiasco / math/vector / Vector

Class: Vector

Defined in: src/math/vector.ts:75

2d vector class

Example

ts
const v = vec(5, 6)
v.scale(2).add(2, 3).subtract(vec(5, 5)).clamp(2)

Constructors

Constructor

new Vector(x, y): Vector

Defined in: src/math/vector.ts:79

Parameters

x

number

y

number

Returns

Vector

Properties

x

x: number

Defined in: src/math/vector.ts:76


y

y: number

Defined in: src/math/vector.ts:77


serializedName

static serializedName: string = "Vector.v1"

Defined in: src/math/vector.ts:101

Accessors

angle

Get Signature

get angle(): number

Defined in: src/math/vector.ts:127

get angle of vector in radians

Returns

number


length

Get Signature

get length(): number

Defined in: src/math/vector.ts:121

Returns

number


magnitude

Get Signature

get magnitude(): number

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

Returns

number


xy

Get Signature

get xy(): number[]

Defined in: src/math/vector.ts:115

Returns

number[]

Methods

abs()

abs(): Vector

Defined in: src/math/vector.ts:412

absolute value of this vector as a new vector

Returns

Vector


add()

Call Signature

add(x, y): Vector

Defined in: src/math/vector.ts:154

add vector to this vector and return a new vector

Parameters
x

number

y

number

Returns

Vector

Call Signature

add(xy): Vector

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

add vector to this vector and return a new vector

Parameters
xy

number

Returns

Vector

Call Signature

add(vector): Vector

Defined in: src/math/vector.ts:162

add vector to this vector and return a new vector

Parameters
vector

Vec2

Returns

Vector

Call Signature

add(vector): Vector

Defined in: src/math/vector.ts:166

add vector to this vector and return a new vector

Parameters
vector

number[]

Returns

Vector


bounce()

bounce(normal): Vector

Defined in: src/math/vector.ts:147

Returns a new vector representing the bounce of this vector off a surface with the given normal.

Parameters

normal

Vec2

The normal vector of the surface.

Returns

Vector

A new vector representing the bounced vector.


clamp()

clamp(max): Vector

Defined in: src/math/vector.ts:473

clamp magnitude of this vector to the given value

Parameters

max

number

Returns

Vector


cross()

Call Signature

cross(x, y): number

Defined in: src/math/vector.ts:391

cross product of this vector and another vector

Parameters
x

number

y

number

Returns

number

Call Signature

cross(unit): number

Defined in: src/math/vector.ts:395

cross product of this vector and another vector

Parameters
unit

number

Returns

number

Call Signature

cross(vector): number

Defined in: src/math/vector.ts:399

cross product of this vector and another vector

Parameters
vector

Vec2

Returns

number

Call Signature

cross(vector): number

Defined in: src/math/vector.ts:403

cross product of this vector and another vector

Parameters
vector

number[]

Returns

number


directionTo()

directionTo(target): Vector

Defined in: src/math/vector.ts:136

Returns the direction from this vector to the target vector.

Parameters

target

Vec2

The target vector.

Returns

Vector

A new vector representing the direction.


div()

Call Signature

div(x, y): Vector

Defined in: src/math/vector.ts:240

divide by vector and return a new vector.

Parameters
x

number

y

number

Returns

Vector

Call Signature

div(unit): Vector

Defined in: src/math/vector.ts:244

divide by vector and return a new vector.

Parameters
unit

number

Returns

Vector

Call Signature

div(vector): Vector

Defined in: src/math/vector.ts:248

divide by vector and return a new vector.

Parameters
vector

Vec2

Returns

Vector

Call Signature

div(vector): Vector

Defined in: src/math/vector.ts:252

divide by vector and return a new vector.

Parameters
vector

number[]

Returns

Vector


dot()

Call Signature

dot(x, y): number

Defined in: src/math/vector.ts:370

dot product of this vector and another vector

Parameters
x

number

y

number

Returns

number

Call Signature

dot(unit): number

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

dot product of this vector and another vector

Parameters
unit

number

Returns

number

Call Signature

dot(vector): number

Defined in: src/math/vector.ts:378

dot product of this vector and another vector

Parameters
vector

Vec2

Returns

number

Call Signature

dot(vector): number

Defined in: src/math/vector.ts:382

dot product of this vector and another vector

Parameters
vector

number[]

Returns

number


lerp()

Call Signature

lerp(x, y, t): Vector

Defined in: src/math/vector.ts:419

linear interpolation between this vector and another vector

Parameters
x

number

y

number

t

number

Returns

Vector

Call Signature

lerp(unit, t): Vector

Defined in: src/math/vector.ts:423

linear interpolation between this vector and another vector

Parameters
unit

number

t

number

Returns

Vector

Call Signature

lerp(vector, t): Vector

Defined in: src/math/vector.ts:427

linear interpolation between this vector and another vector

Parameters
vector

Vec2

t

number

Returns

Vector

Call Signature

lerp(vector, t): Vector

Defined in: src/math/vector.ts:431

linear interpolation between this vector and another vector

Parameters
vector

number[]

t

number

Returns

Vector


mul()

Call Signature

mul(x, y): Vector

Defined in: src/math/vector.ts:198

multiply by vector and return a new vector.

Parameters
x

number

y

number

Returns

Vector

Call Signature

mul(unit): Vector

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

scale by vector and return a new vector.

Parameters
unit

number

Returns

Vector

Call Signature

mul(vector): Vector

Defined in: src/math/vector.ts:206

scale by vector and return a new vector.

Parameters
vector

Vec2

Returns

Vector

Call Signature

mul(vector): Vector

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

scale by vector and return a new vector.

Parameters
vector

number[]

Returns

Vector


mutAdd()

Call Signature

mutAdd(x, y): Vector

Defined in: src/math/vector.ts:175

add vector to this vector, modifying in place

Parameters
x

number

y

number

Returns

Vector

Call Signature

mutAdd(unit): Vector

Defined in: src/math/vector.ts:179

add vector to this vector, modifying in place

Parameters
unit

number

Returns

Vector

Call Signature

mutAdd(vector): Vector

Defined in: src/math/vector.ts:183

add vector to this vector, modifying in place

Parameters
vector

Vec2

Returns

Vector

Call Signature

mutAdd(vector): Vector

Defined in: src/math/vector.ts:187

add vector to this vector, modifying in place

Parameters
vector

number[]

Returns

Vector


mutClamp()

mutClamp(max): Vector

Defined in: src/math/vector.ts:534

clamp magnitude of this vector to the given value, modifying in place

Parameters

max

number

Returns

Vector


mutDiv()

Call Signature

mutDiv(x, y): Vector

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

divide by vector modifying in place.

Parameters
x

number

y

number

Returns

Vector

Call Signature

mutDiv(unit): Vector

Defined in: src/math/vector.ts:265

divide by vector modifying in place.

Parameters
unit

number

Returns

Vector

Call Signature

mutDiv(vector): Vector

Defined in: src/math/vector.ts:269

divide by vector modifying in place.

Parameters
vector

Vec2

Returns

Vector

Call Signature

mutDiv(vector): Vector

Defined in: src/math/vector.ts:273

divide by vector modifying in place.

Parameters
vector

number[]

Returns

Vector


mutLerp()

Call Signature

mutLerp(x, y, t): Vector

Defined in: src/math/vector.ts:446

linear interpolation between this vector and another vector

Parameters
x

number

y

number

t

number

Returns

Vector

Call Signature

mutLerp(unit, t): Vector

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

linear interpolation between this vector and another vector

Parameters
unit

number

t

number

Returns

Vector

Call Signature

mutLerp(vector, t): Vector

Defined in: src/math/vector.ts:454

linear interpolation between this vector and another vector

Parameters
vector

Vec2

t

number

Returns

Vector

Call Signature

mutLerp(vector, t): Vector

Defined in: src/math/vector.ts:458

linear interpolation between this vector and another vector

Parameters
vector

number[]

t

number

Returns

Vector


mutMul()

Call Signature

mutMul(x, y): Vector

Defined in: src/math/vector.ts:219

multiply by vector modifying in place.

Parameters
x

number

y

number

Returns

Vector

Call Signature

mutMul(unit): Vector

Defined in: src/math/vector.ts:223

scale by vector modifying in place.

Parameters
unit

number

Returns

Vector

Call Signature

mutMul(vector): Vector

Defined in: src/math/vector.ts:227

scale by vector modifying in place.

Parameters
vector

Vec2

Returns

Vector

Call Signature

mutMul(vector): Vector

Defined in: src/math/vector.ts:231

scale by vector modifying in place.

Parameters
vector

number[]

Returns

Vector


mutRotate()

mutRotate(radians): Vector

Defined in: src/math/vector.ts:486

Parameters

radians

number

Returns

Vector

a new vector rotated by the given angle in radians


mutScale()

Call Signature

mutScale(x, y): Vector

Defined in: src/math/vector.ts:303

scale by vector, modifying in place. equivalent to multiplying by vector.

Parameters
x

number

y

number

Returns

Vector

Call Signature

mutScale(unit): Vector

Defined in: src/math/vector.ts:307

scale by vector, modifying in place. equivalent to multiplying by vector.

Parameters
unit

number

Returns

Vector

Call Signature

mutScale(vector): Vector

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

scale by vector, modifying in place. equivalent to multiplying by vector.

Parameters
vector

Vec2

Returns

Vector

Call Signature

mutScale(vector): Vector

Defined in: src/math/vector.ts:315

scale by vector, modifying in place. equivalent to multiplying by vector.

Parameters
vector

number[]

Returns

Vector


mutSubtract()

Call Signature

mutSubtract(x, y): Vector

Defined in: src/math/vector.ts:347

subtract vector from this vector, modifying in place

Parameters
x

number

y

number

Returns

Vector

Call Signature

mutSubtract(unit): Vector

Defined in: src/math/vector.ts:351

subtract vector from this vector, modifying in place

Parameters
unit

number

Returns

Vector

Call Signature

mutSubtract(vector): Vector

Defined in: src/math/vector.ts:355

subtract vector from this vector, modifying in place

Parameters
vector

Vec2

Returns

Vector

Call Signature

mutSubtract(vector): Vector

Defined in: src/math/vector.ts:359

subtract vector from this vector, modifying in place

Parameters
vector

number[]

Returns

Vector


normalize()

normalize(): Vector

Defined in: src/math/vector.ts:527

Returns

Vector


rotate()

rotate(radians): Vector

Defined in: src/math/vector.ts:510

Parameters

radians

number

Returns

Vector

a new vector rotated by the given angle in radians


scale()

Call Signature

scale(x, y): Vector

Defined in: src/math/vector.ts:282

scale by vector and return a new vector. equivalent to multiplying by vector.

Parameters
x

number

y

number

Returns

Vector

Call Signature

scale(unit): Vector

Defined in: src/math/vector.ts:286

scale by vector and return a new vector. equivalent to multiplying by vector.

Parameters
unit

number

Returns

Vector

Call Signature

scale(vector): Vector

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

scale by vector and return a new vector. equivalent to multiplying by vector.

Parameters
vector

Vec2

Returns

Vector

Call Signature

scale(vector): Vector

Defined in: src/math/vector.ts:294

scale by vector and return a new vector. equivalent to multiplying by vector.

Parameters
vector

number[]

Returns

Vector


subtract()

Call Signature

subtract(x, y): Vector

Defined in: src/math/vector.ts:326

subtract vector from this vector and return a new vector

Parameters
x

number

y

number

Returns

Vector

Call Signature

subtract(unit): Vector

Defined in: src/math/vector.ts:330

subtract vector from this vector and return a new vector

Parameters
unit

number

Returns

Vector

Call Signature

subtract(vector): Vector

Defined in: src/math/vector.ts:334

subtract vector from this vector and return a new vector

Parameters
vector

Vec2

Returns

Vector

Call Signature

subtract(vector): Vector

Defined in: src/math/vector.ts:338

subtract vector from this vector and return a new vector

Parameters
vector

number[]

Returns

Vector


toJSON()

toJSON(): object

Defined in: src/math/vector.ts:107

Returns

object

__serializedName

__serializedName: string = Vector.serializedName

x

x: number

y

y: number


toString()

toString(): string

Defined in: src/math/vector.ts:103

Returns

string


transform()

transform(mat): Vector

Defined in: src/math/vector.ts:546

transforms by the given matrix, returning a new vector

Parameters

mat

Float32Array

matrix to transform by

Returns

Vector


distance()

static distance(origin, target): number

Defined in: src/math/vector.ts:84

Parameters

origin

Vec2

target

Vec2

Returns

number


fromJSON()

static fromJSON(__namedParameters): Vector

Defined in: src/math/vector.ts:111

Parameters

__namedParameters
x

number

y

number

Returns

Vector


lerp()

static lerp(start, end, amt): Vec2

Defined in: src/math/vector.ts:94

lerp is short for Linear intERPolation, and is a way to blend between two values.

Parameters

start

Vec2

the value to start at

end

Vec2

the value to end at

amt

number

the blending factor, e.g. 0.5 is halfway between start and end

Returns

Vec2