Vec2

Source: Vec2.ts:11

Class represents a 3d vector.


Constructor

new Vec2(x?: number, y?: number): Vec2

Parameters

  • x (number, optional) — First value.
  • y (number, optional) — Second value.

Instance Methods

toVector3(): Vec3

Converts to 3d vector, third value is 0.0.

Returns

clone(): Vec2

Returns clone vector.

Returns

equal(p: Vec2): boolean

Compares with vector. Returns true if it equals another.

Parameters

  • p (Vec2) — Vector to compare.

Returns

  • boolean

copy(point2: Vec2): Vec2

Copy input vector's values.

Parameters

  • point2 (Vec2) — Vector to copy.

Returns

length(): number

Gets vector's length.

Returns

  • number

length2(): number

Returns squared vector's length.

Returns

  • number

addA(v: Vec2): Vec2

Adds vector to the current.

Parameters

  • v (Vec2) — Vector to add.

Returns

add(v: Vec2): Vec2

Adds two vectors.

Parameters

  • v (Vec2) — Vector to add.

Returns

subA(v: Vec2): Vec2

Subtracts a vector from the current vector in place.

Parameters

  • v (Vec2) — Subtract vector.

Returns

sub(v: Vec2): Vec2

Subtract vector from the current.

Parameters

  • v (Vec2) — Subtract vector.

Returns

scale(scale: number): Vec2

Scale current vector.

Parameters

  • scale (number) — Scale value.

Returns

scaleTo(scale: number): Vec2

Scale current vector to another instance.

Parameters

  • scale (number) — Scale value.

Returns

mulA(vec: Vec2): Vec2

Multiplies the current vector by another vector in place.

Parameters

  • vec (Vec2) — Multiply vector.

Returns

mul(vec: Vec2): Vec2

Multiplies the current vector by another vector and returns a new vector.

Parameters

  • vec (Vec2) — Multiply vector.

Returns

divA(vec: Vec2): Vec2

Divides current vector components by another vector in place.

Parameters

  • vec (Vec2) — Divisor vector.

Returns

dot(v: Vec2): number

Returns the dot product of two vectors.

Parameters

  • v (Vec2) — Another vector.

Returns

  • number

dotArr(arr: Array.<number>): number

Returns the dot product with a 2-element array.

Parameters

  • arr (Array.<number>) — Array vector. (exactly 2 entries)

Returns

  • number

cross(v: Vec2): number

Gets vectors cross production.

Parameters

  • v (Vec2) — Another vector.

Returns

  • number

clear(): Vec2

Sets vector to zero.

Returns

normal(): Vec2

deprecated
Vec2.ts:383

Returns normalized vector.

This method is deprecated and should not be used.

Returns

getNormal(): Vec2

Returns normalized vector.

Returns

normalize(): Vec2

Normalize current vector.

Returns

toVec(): Array.<number>

Converts vector to a number array.

Returns

  • Array.<number>

distance(p: Vec2): number

Gets distance to point.

Parameters

  • p (Vec2) — Target point.

Returns

  • number

set(x: number, y: number): Vec2

Sets vector's values.

Parameters

  • x (number) — Value X.
  • y (number) — Value Y.

Returns

negate(): Vec2

Negate current vector.

Returns

negateTo(): Vec2

Negate current vector to another instance.

Returns

projToRay(pos: Vec2, direction: Vec2): Vec2

Gets projected point coordinates of the current vector on the ray.

Parameters

  • pos (Vec2) — Ray position.
  • direction (Vec2) — Ray direction.

Returns

angle(a: Vec2): number

Gets angle between two vectors.

Parameters

  • a (Vec2) — Another vector.

Returns

  • number

lerp(v1: Vec2, v2: Vec2, l: number): Vec2

Returns linear interpolation between two vectors.

Parameters

  • v1 (Vec2) — Start vector.
  • v2 (Vec2) — End vector.
  • l (number) — Interpolation factor in range [0, 1].

Returns

  • Vec2 — Interpolated vector.

slerp(v2: Vec2, t: number): Vec2

Spherically interpolates between two vectors. Interpolates between current and v2 vector by amount t. The difference between this and linear interpolation (aka, "lerp") is that the vectors are treated as directions rather than points in space. The direction of the returned vector is interpolated by the angle and its magnitude is interpolated between the magnitudes of from and to.

Parameters

  • v2 (Vec2)
  • t (number) — The parameter t is clamped to the range [0, 1].

Returns

isZero(): boolean

Returns true if vector's values are zero.

Returns

  • boolean

Static Methods

fromVec(arr: NumberArray2): Vec2

Creates 2d vector from array.

Parameters

  • arr (NumberArray2) — Input array. (exactly 2 entries)

Returns

add(a: Vec2, b: Vec2): Vec2

Returns summary vector.

Parameters

  • a (Vec2) — First vector.
  • b (Vec2) — Second vector.

Returns

sub(a: Vec2, b: Vec2): Vec2

Returns two vectors subtraction.

Parameters

  • a (Vec2) — First vector.
  • b (Vec2) — Second vector.

Returns

scale(a: Vec2, scale: number): Vec2

Returns scaled vector.

Parameters

  • a (Vec2) — Input vector.
  • scale (number) — Scale value.

Returns

mul(a: Vec2, b: Vec2): Vec2

Returns two vectors production.

Parameters

  • a (Vec2) — First vector.
  • b (Vec2) — Second vector.

Returns

div(a: Vec2, b: Vec2): Vec2

Returns vector components division product one to another.

Parameters

  • a (Vec2) — First vector.
  • b (Vec2) — Second vector.

Returns

proj_b_to_a(b: Vec2, a: Vec2): Vec2

Get projection of the first vector to the second.

Parameters

  • b (Vec2) — First vector.
  • a (Vec2) — Second vector.

Returns

angle(a: Vec2, b: Vec2): number

Gets angle between two vectors.

Parameters

  • a (Vec2) — First vector.
  • b (Vec2) — Second vector.

Returns

  • number

orthoNormalize(normal: Vec2, tangent: Vec2): Vec2

Makes vectors normalized and orthogonal to each other.

Parameters

  • normal (Vec2) — Normal vector.
  • tangent (Vec2) — Tangent vector.

Returns

proj_b_to_plane(b: Vec2, n: Vec2, def?: Vec3): Vec2

Projects a vector onto a plane with normal n.

Parameters

  • b (Vec2) — Vector to project.
  • n (Vec2) — Plane normal.
  • def (Vec3, optional) — Default value if the result is zero.

Returns

Other

UP

DOWN

LEFT

ZERO