Class: Vec2
Defined in: index.ts:16
Vec2 represents a 2D vector, point, or size.
Remarks
All operations are immutable and return new Vec2 instances.
Example
const a = new Vec2(1, 2)
const b = new Vec2(3, 4)
a.add(b) //=> Vec2(4, 6)
a.sub(b) //=> Vec2(-2, -2)
b.length //=> 5Constructors
Constructor
new Vec2(
x,y):Vec2
Defined in: index.ts:22
Creates a new Vec2 instance.
Parameters
x
number = 0
The x component of this vector
y
number = x
The y component of this vector (defaults to x)
Returns
Vec2
Properties
x
x:
number=0
Defined in: index.ts:23
The x component of this vector
y
y:
number=x
Defined in: index.ts:24
The y component of this vector (defaults to x)
zero
readonlystaticzero:Vec2
Defined in: index.ts:295
Zero vector (0, 0).
Accessors
width
Get Signature
get width():
number
Defined in: index.ts:31
Gets the x component as width.
Returns
number
The x component
height
Get Signature
get height():
number
Defined in: index.ts:39
Gets the y component as height.
Returns
number
The y component
neg
Get Signature
get neg():
Vec2
Defined in: index.ts:109
Gets the negation of this vector.
Returns
Vec2
A new Vec2 with negated components
length
Get Signature
get length():
number
Defined in: index.ts:117
Gets the length (magnitude) of this vector.
Returns
number
The Euclidean length
squaredLength
Get Signature
get squaredLength():
number
Defined in: index.ts:125
Gets the squared length of this vector.
Returns
number
The squared length (useful for comparison without sqrt)
angle
Get Signature
get angle():
number
Defined in: index.ts:133
Gets the angle of this vector from the positive x-axis.
Returns
number
The angle in radians, in the range [-π, π]
floor
Get Signature
get floor():
Vec2
Defined in: index.ts:172
Gets the floor of each component.
Returns
Vec2
A new Vec2 with floored components
ceil
Get Signature
get ceil():
Vec2
Defined in: index.ts:180
Gets the ceiling of each component.
Returns
Vec2
A new Vec2 with ceiled components
round
Get Signature
get round():
Vec2
Defined in: index.ts:188
Gets the rounded value of each component.
Returns
Vec2
A new Vec2 with rounded components
abs
Get Signature
get abs():
Vec2
Defined in: index.ts:196
Gets the absolute value of each component.
Returns
Vec2
A new Vec2 with absolute values
members
Get Signature
get members(): [
number,number]
Defined in: index.ts:229
Converts this vector to a tuple array.
Returns
[number, number]
A tuple of [x, y]
Methods
equals()
equals(
v):boolean
Defined in: index.ts:48
Checks if this vector equals another vector.
Parameters
v
Vec2
The vector to compare with
Returns
boolean
True if both x and y components are equal
add()
add(
v):Vec2
Defined in: index.ts:62
Adds a vector or scalar to this vector.
Parameters
v
Vector or scalar to add
number | Vec2
Returns
Vec2
A new Vec2 with the sum
Example
new Vec2(1, 2).add(new Vec2(3, 4)) // Vec2(4, 6)
new Vec2(1, 2).add(5) // Vec2(6, 7)sub()
sub(
v):Vec2
Defined in: index.ts:74
Subtracts a vector or scalar from this vector.
Parameters
v
Vector or scalar to subtract
number | Vec2
Returns
Vec2
A new Vec2 with the difference
mul()
mul(
v):Vec2
Defined in: index.ts:86
Multiplies this vector by a vector or scalar.
Parameters
v
Vector or scalar to multiply by
number | Vec2
Returns
Vec2
A new Vec2 with the product
div()
div(
v):Vec2
Defined in: index.ts:98
Divides this vector by a vector or scalar.
Parameters
v
Vector or scalar to divide by
number | Vec2
Returns
Vec2
A new Vec2 with the quotient
dot()
dot(
other):number
Defined in: index.ts:142
Calculates the dot product with another vector.
Parameters
other
Vec2
The other vector
Returns
number
The dot product
cross()
cross(
other):number
Defined in: index.ts:151
Calculates the 2D cross product with another vector.
Parameters
other
Vec2
The other vector
Returns
number
The z-component of the 3D cross product
mix()
mix(
other,ratio):Vec2
Defined in: index.ts:161
Linearly interpolates between this vector and another.
Parameters
other
Vec2
The target vector
ratio
number
The interpolation ratio (0 = this, 1 = other)
Returns
Vec2
A new Vec2 with the interpolated value
clamp()
clamp(
min,max):Vec2
Defined in: index.ts:206
Clamps each component within the given range.
Parameters
min
Vec2
The minimum values
max
Vec2
The maximum values
Returns
Vec2
A new Vec2 with clamped components
transform()
transform(
transform):Vec2
Defined in: index.ts:218
Transforms this vector by a transformation matrix.
Parameters
transform
The transformation to apply
Returns
Vec2
A new transformed Vec2
toString()
toString():
string
Defined in: index.ts:237
Returns a string representation of this vector.
Returns
string
A string in the format "Vec2(x,y)"
from()
staticfrom(options):Vec2
Defined in: index.ts:252
Creates a Vec2 from various input formats.
Parameters
options
A number (for both components), array, or object with x/y
number | number[] | { x?: number; y?: number; }
Returns
Vec2
A new Vec2 instance
Example
Vec2.from(5) // Vec2(5, 5)
Vec2.from([3, 4]) // Vec2(3, 4)
Vec2.from({ x: 1, y: 2 }) // Vec2(1, 2)min()
staticmin(...vs):Vec2
Defined in: index.ts:275
Returns a vector with the minimum values from each component.
Parameters
vs
...Vec2[]
Vectors to compare
Returns
Vec2
A new Vec2 with minimum values
max()
staticmax(...vs):Vec2
Defined in: index.ts:286
Returns a vector with the maximum values from each component.
Parameters
vs
...Vec2[]
Vectors to compare
Returns
Vec2
A new Vec2 with maximum values
normalize()
normalize():
Vec2
Defined in: index.ts:301
Normalizes this vector to unit length.
Returns
Vec2
A new Vec2 with length 1, or zero vector if length is 0
rotate()
rotate(
angle):Vec2
Defined in: index.ts:312
Rotates this vector by the given angle.
Parameters
angle
number
The rotation angle in radians
Returns
Vec2
A new rotated Vec2
min()
min(
other):Vec2
Defined in: index.ts:326
Returns a vector with the minimum x and y from this and another vector.
Parameters
other
Vec2
The other vector
Returns
Vec2
A new Vec2 with minimum components
max()
max(
other):Vec2
Defined in: index.ts:338
Returns a vector with the maximum x and y from this and another vector.
Parameters
other
Vec2
The other vector
Returns
Vec2
A new Vec2 with maximum components
toArray()
toArray(): [
number,number]
Defined in: index.ts:349
Converts this vector to an array.
Returns
[number, number]
An array of [x, y]