Vec2
:A 2D vector.
group
Math
x
: numberThe x coordinate
y
: numberThe y coordinate
set
(x: number, y: number) => Vec2Set the X and Y of this vector
fromAngle
(deg: number) => Vec2Create a new Vec2 from an angle in degrees
fromArray
(arr: Array<number>) => Vec2Create a new Vec2 from an array
ZERO
: Vec2An empty vector. (0, 0)
ONE
: Vec2A vector with both components of 1. (1, 1)
LEFT
: Vec2A vector signaling to the left. (-1, 0)
RIGHT
: Vec2A vector signaling to the right. (1, 0)
UP
: Vec2A vector signaling up. (0, -1)
DOWN
: Vec2A vector signaling down. (0, 1)
toAxis
() => Vec2Closest orthogonal direction: LEFT, RIGHT, UP, or DOWN
clone
() => Vec2Clone the vector
copy
(v: Vec2, out: Vec2) => Vec2add
(args: Vec2Args) => Vec2Returns the sum with another vector.
add
(v: Vec2, other: Vec2, out: Vec2) => Vec2Calculates the sum of the vectors
param
v- The first term
param
other- The second term
param
out- The vector sum
returns
The sum of the vectors
addScaled
(v: Vec2, other: Vec2, s: number, out: Vec2) => Vec2addc
(v: Vec2, x: number, y: number, out: Vec2) => Vec2Calculates the sum of the vectors
param
v- The first term
param
x- The x of the second term
param
y- The y of the second term
param
out- The vector sum
returns
The sum of the vectors
sub
(args: Vec2Args) => Vec2Returns the difference with another vector.
sub
(v: Vec2, other: Vec2, out: Vec2) => Vec2Calculates the difference of the vectors
param
v- The first term
param
other- The second term
param
out- The vector difference
returns
The difference of the vectors
subc
(v: Vec2, x: number, y: number, out: Vec2) => Vec2Calculates the difference of the vectors
param
v- The first term
param
x- The x of the second term
param
y- The y of the second term
param
out- The vector difference
returns
The difference of the vectors
scale
(args: Vec2Args) => Vec2Scale by another vector. or a single number
scale
(v: Vec2, s: number, out: Vec2) => Vec2Calculates the scale of the vector
param
v- The vector
param
s- The x scale
param
out- The y scale
param
unknown- The scaled vector
returns
The scale of the vector
scalec
(v: Vec2, x: number, y: number, out: Vec2) => Vec2Calculates the scale of the vector
param
v- The vector
param
x- The x scale
param
y- The y scale
param
out- The scaled vector
returns
The scale of the vector
scalev
(v: Vec2, other: Vec2, out: Vec2) => Vec2Calculates the scale of the vector
param
v- The vector
param
other- The scale
param
out- The scaled vector
returns
The scale of the vector
invScale
(args: Vec2Args) => Vec2Scale by the inverse of another vector. or a single number
dist
(args: Vec2Args) => numberGet distance between another vector
dist
(v: Vec2, other: Vec2) => numberCalculates the distance between the vectors
param
v- The vector
param
other- The other vector
returns
The between the vectors
sdist
(args: Vec2Args) => numberGet squared distance between another vector
sdist
(v: Vec2, other: Vec2) => numberCalculates the squared distance between the vectors
param
v- The vector
param
other- The other vector
returns
The distance between the vectors
len
() => numberGet length of the vector
since
v3000.0
len
(v: Vec2) => numberCalculates the length of the vector
param
v- The vector
returns
The length of the vector
slen
() => numberGet squared length of the vector
since
v3000.0
slen
(v: Vec2) => numberCalculates the squared length of the vector
param
v- The vector
returns
The squared length of the vector
unit
() => Vec2Get the unit vector (length of 1).
unit
(v: Vec2, out: Vec2) => Vec2normal
() => Vec2Get the perpendicular vector.
normal
(v: Vec2, out: Vec2) => Vec2reflect
(normal: Vec2) => Vec2Get the reflection of a vector with a normal.
since
v3000.0
project
(on: Vec2) => Vec2Get the projection of a vector onto another vector.
since
v3000.0
reject
(on: Vec2) => Vec2Get the rejection of a vector onto another vector.
since
v3000.0
rotate
(vecOrAngle: Vec2 | number) => Vec2rotate
(v: Vec2, dir: Vec2, out: Vec2) => Vec2Calculates the rotated vector
param
v- The vector
param
dir- The rotation vector
param
out- The rotated vector
returns
The rotated vector
rotateByAngle
(v: Vec2, angle: number, out: Vec2) => Vec2Calculates the rotated vector
param
v- The vector
param
angle- The angle in radians
param
out- The rotated vector
returns
The rotated vector
invRotate
(vecOrAngle: Vec2 | number) => Vec2inverseRotate
(v: Vec2, dir: Vec2, out: Vec2) => Vec2Calculates the inverse rotated vector
param
v- The vector
param
dir- The rotation vector
param
out- The rotated vector
returns
The rotated vector
dot
(p2: Vec2) => numberGet the dot product with another vector.
dot
(v: Vec2, other: Vec2) => numberGet the dot product between 2 vectors.
since
v3000.0
cross
(p2: Vec2) => numberGet the cross product with another vector.
since
v3000.0
cross
(v: Vec2, other: Vec2) => numberGet the cross product between 2 vectors.
since
v3000.0
angle
(args: Vec2Args) => numberGet the angle of the vector in degrees.
toAngle
(v: Vec2) => numberCalculates the angle represented by the vector in radians
param
v- The vector
returns
Angle represented by the vector in radians
angleBetween
(args: Vec2Args) => numberGet the angle between this vector and another vector.
since
v3000.0
angleBetween
(v: Vec2, other: Vec2) => numberCalculates the angle between the vectors in radians
param
v- First vector
param
other- Second vector
returns
Angle between the vectors in radians
lerp
(dest: Vec2, t: number) => Vec2Linear interpolate to a destination vector (for positions).
lerp
(src: Vec2, dst: Vec2, t: number, out: Vec2) => Vec2Linear interpolate src and dst by t
param
src- First vector
param
dst- Second vector
param
t- Percentage
param
out- The linear interpolation between src and dst by t
returns
The linear interpolation between src and dst by t
slerp
(dest: Vec2, t: number) => Vec2Spherical linear interpolate to a destination vector (for rotations).
since
v3000.0
slerp
(src: Vec2, dst: Vec2, t: number, out: Vec2) => Vec2Spherical interpolate src and dst by t
param
src- First vector
param
dst- Second vector
param
t- Percentage
param
out- The spherical interpolation between src and dst by t
returns
The spherical interpolation between src and dst by t
isZero
() => booleanIf the vector (x, y) is zero.
since
v3000.0
toFixed
(n: number) => Vec2To n precision floating point.
transform
(m: Mat4) => Vec2Multiply by a Mat4.
since
v3000.0
eq
(other: Vec2) => booleanSee if one vector is equal to another.
since
v3000.0
bbox
() => RectConverts the vector to a Rect with the vector as the origin.
since
v3000.0.
toArray
() => Array<number>Converts the vector to an array.
since
v3001.0