@vaguevoid/fiasco / math/vector / Vector
Class: Vector
Defined in: src/math/vector.ts:75
2d vector class
Example
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
target
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
the value to start at
end
the value to end at
amt
number
the blending factor, e.g. 0.5 is halfway between start and end