vec2

vec2

2 Dimensional Vector

Constructor

# new vec2()

Source:

Methods

# (static) add(out, a, b) → {vec2}

Source:

Adds two vec2's

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the first operand

b vec2

the second operand

Returns:

out

Type
vec2

# (static) clone(a) → {vec2}

Source:

Creates a new vec2 initialized with values from an existing vector

Parameters:
Name Type Description
a vec2

vector to clone

Returns:

a new 2D vector

Type
vec2

# (static) copy(out, a) → {vec2}

Source:

Copy the values from one vec2 to another

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the source vector

Returns:

out

Type
vec2

# (static) create() → {vec2}

Source:

Creates a new, empty vec2

Returns:

a new 2D vector

Type
vec2

# (static) cross(out, a, b) → {vec3}

Source:

Computes the cross product of two vec2's Note that the cross product must by definition produce a 3D vector

Parameters:
Name Type Description
out vec3

the receiving vector

a vec2

the first operand

b vec2

the second operand

Returns:

out

Type
vec3

# (static) dist()

Source:

Alias for vec2.distance

# (static) distance(a, b) → {Number}

Source:

Calculates the euclidian distance between two vec2's

Parameters:
Name Type Description
a vec2

the first operand

b vec2

the second operand

Returns:

distance between a and b

Type
Number

# (static) div()

Source:

Alias for vec2.divide

# (static) divide(out, a, b) → {vec2}

Source:

Divides two vec2's

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the first operand

b vec2

the second operand

Returns:

out

Type
vec2

# (static) dot(a, b) → {Number}

Source:

Calculates the dot product of two vec2's

Parameters:
Name Type Description
a vec2

the first operand

b vec2

the second operand

Returns:

dot product of a and b

Type
Number

# (static) forEach(a, stride, offset, count, fn, argopt) → {Array}

Source:

Perform some operation over an array of vec2s.

Parameters:
Name Type Attributes Description
a Array

the array of vectors to iterate over

stride Number

Number of elements between the start of each vec2. If 0 assumes tightly packed

offset Number

Number of elements to skip at the beginning of the array

count Number

Number of vec2s to iterate over. If 0 iterates over entire array

fn function

Function to call for each vector in the array

arg Object <optional>

additional argument to pass to fn

Returns:

a

Type
Array

# (static) fromValues(x, y) → {vec2}

Source:

Creates a new vec2 initialized with the given values

Parameters:
Name Type Description
x Number

X component

y Number

Y component

Returns:

a new 2D vector

Type
vec2

# (static) inverse(out, a) → {vec2}

Source:

Returns the inverse of the components of a vec2

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

vector to invert

Returns:

out

Type
vec2

# (static) len()

Source:

Alias for vec2.length

# (static) length(a) → {Number}

Source:

Calculates the length of a vec2

Parameters:
Name Type Description
a vec2

vector to calculate length of

Returns:

length of a

Type
Number

# (static) lerp(out, a, b, t) → {vec2}

Source:

Performs a linear interpolation between two vec2's

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the first operand

b vec2

the second operand

t Number

interpolation amount between the two inputs

Returns:

out

Type
vec2

# (static) max(out, a, b) → {vec2}

Source:

Returns the maximum of two vec2's

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the first operand

b vec2

the second operand

Returns:

out

Type
vec2

# (static) min(out, a, b) → {vec2}

Source:

Returns the minimum of two vec2's

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the first operand

b vec2

the second operand

Returns:

out

Type
vec2

# (static) mul()

Source:

Alias for vec2.multiply

# (static) multiply(out, a, b) → {vec2}

Source:

Multiplies two vec2's

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the first operand

b vec2

the second operand

Returns:

out

Type
vec2

# (static) negate(out, a) → {vec2}

Source:

Negates the components of a vec2

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

vector to negate

Returns:

out

Type
vec2

# (static) normalize(out, a) → {vec2}

Source:

Normalize a vec2

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

vector to normalize

Returns:

out

Type
vec2

# (static) random(out, scaleopt) → {vec2}

Source:

Generates a random vector with the given scale

Parameters:
Name Type Attributes Description
out vec2

the receiving vector

scale Number <optional>

Length of the resulting vector. If ommitted, a unit vector will be returned

Returns:

out

Type
vec2

# (static) scale(out, a, b) → {vec2}

Source:

Scales a vec2 by a scalar number

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the vector to scale

b Number

amount to scale the vector by

Returns:

out

Type
vec2

# (static) scaleAndAdd(out, a, b, scale) → {vec2}

Source:

Adds two vec2's after scaling the second operand by a scalar value

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the first operand

b vec2

the second operand

scale Number

the amount to scale b by before adding

Returns:

out

Type
vec2

# (static) set(out, x, y) → {vec2}

Source:

Set the components of a vec2 to the given values

Parameters:
Name Type Description
out vec2

the receiving vector

x Number

X component

y Number

Y component

Returns:

out

Type
vec2

# (static) sqrDist()

Source:

# (static) sqrLen()

Source:

Alias for vec2.squaredLength

# (static) squaredDistance(a, b) → {Number}

Source:

Calculates the squared euclidian distance between two vec2's

Parameters:
Name Type Description
a vec2

the first operand

b vec2

the second operand

Returns:

squared distance between a and b

Type
Number

# (static) squaredLength(a) → {Number}

Source:

Calculates the squared length of a vec2

Parameters:
Name Type Description
a vec2

vector to calculate squared length of

Returns:

squared length of a

Type
Number

# (static) sub()

Source:

Alias for vec2.subtract

# (static) subtract(out, a, b) → {vec2}

Source:

Subtracts vector b from vector a

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the first operand

b vec2

the second operand

Returns:

out

Type
vec2

# (static) transformMat2(out, a, m) → {vec2}

Source:

Transforms the vec2 with a mat2

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the vector to transform

m mat2

matrix to transform with

Returns:

out

Type
vec2

# (static) transformMat2d(out, a, m) → {vec2}

Source:

Transforms the vec2 with a mat2d

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the vector to transform

m mat2d

matrix to transform with

Returns:

out

Type
vec2

# (static) transformMat3(out, a, m) → {vec2}

Source:

Transforms the vec2 with a mat3 3rd vector component is implicitly '1'

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the vector to transform

m mat3

matrix to transform with

Returns:

out

Type
vec2

# (static) transformMat4(out, a, m) → {vec2}

Source:

Transforms the vec2 with a mat4 3rd vector component is implicitly '0' 4th vector component is implicitly '1'

Parameters:
Name Type Description
out vec2

the receiving vector

a vec2

the vector to transform

m mat4

matrix to transform with

Returns:

out

Type
vec2