2 Dimensional Vector
- Source:
Methods
(static) add(out, a, b) → {vec2}
Adds two vec2's
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
- Source:
Returns:
out
- Type
- vec2
(static) angle(a, b) → {Number}
Get the angle between two 2D vectors
Parameters:
Name | Type | Description |
---|---|---|
a |
ReadonlyVec2 | The first operand |
b |
ReadonlyVec2 | The second operand |
- Source:
Returns:
The angle in radians
- Type
- Number
(static) ceil(out, a) → {vec2}
Math.ceil the components of a vec2
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | vector to ceil |
- Source:
Returns:
out
- Type
- vec2
(static) clone(a) → {vec2}
Creates a new vec2 initialized with values from an existing vector
Parameters:
Name | Type | Description |
---|---|---|
a |
ReadonlyVec2 | vector to clone |
- Source:
Returns:
a new 2D vector
- Type
- vec2
(static) copy(out, a) → {vec2}
Copy the values from one vec2 to another
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the source vector |
- Source:
Returns:
out
- Type
- vec2
(static) create() → {vec2}
Creates a new, empty vec2
- Source:
Returns:
a new 2D vector
- Type
- vec2
(static) cross(out, a, b) → {vec3}
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 |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
- Source:
Returns:
out
- Type
- vec3
(static) dist()
Alias for vec2.distance
- Source:
(static) distance(a, b) → {Number}
Calculates the euclidian distance between two vec2's
Parameters:
Name | Type | Description |
---|---|---|
a |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
- Source:
Returns:
distance between a and b
- Type
- Number
(static) div()
Alias for vec2.divide
- Source:
(static) divide(out, a, b) → {vec2}
Divides two vec2's
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
- Source:
Returns:
out
- Type
- vec2
(static) dot(a, b) → {Number}
Calculates the dot product of two vec2's
Parameters:
Name | Type | Description |
---|---|---|
a |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
- Source:
Returns:
dot product of a and b
- Type
- Number
(static) equals(a, b) → {Boolean}
Returns whether or not the vectors have approximately the same elements in the same position.
Parameters:
Name | Type | Description |
---|---|---|
a |
ReadonlyVec2 | The first vector. |
b |
ReadonlyVec2 | The second vector. |
- Source:
Returns:
True if the vectors are equal, false otherwise.
- Type
- Boolean
(static) exactEquals(a, b) → {Boolean}
Returns whether or not the vectors exactly have the same elements in the same position (when compared with ===)
Parameters:
Name | Type | Description |
---|---|---|
a |
ReadonlyVec2 | The first vector. |
b |
ReadonlyVec2 | The second vector. |
- Source:
Returns:
True if the vectors are equal, false otherwise.
- Type
- Boolean
(static) floor(out, a) → {vec2}
Math.floor the components of a vec2
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | vector to floor |
- Source:
Returns:
out
- Type
- vec2
(static) forEach(a, stride, offset, count, fn, argopt) → {Array}
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 |
- Source:
Returns:
a
- Type
- Array
(static) fromValues(x, y) → {vec2}
Creates a new vec2 initialized with the given values
Parameters:
Name | Type | Description |
---|---|---|
x |
Number | X component |
y |
Number | Y component |
- Source:
Returns:
a new 2D vector
- Type
- vec2
(static) inverse(out, a) → {vec2}
Returns the inverse of the components of a vec2
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | vector to invert |
- Source:
Returns:
out
- Type
- vec2
(static) len()
Alias for vec2.length
- Source:
(static) length(a) → {Number}
Calculates the length of a vec2
Parameters:
Name | Type | Description |
---|---|---|
a |
ReadonlyVec2 | vector to calculate length of |
- Source:
Returns:
length of a
- Type
- Number
(static) lerp(out, a, b, t) → {vec2}
Performs a linear interpolation between two vec2's
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
t |
Number | interpolation amount, in the range [0-1], between the two inputs |
- Source:
Returns:
out
- Type
- vec2
(static) max(out, a, b) → {vec2}
Returns the maximum of two vec2's
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
- Source:
Returns:
out
- Type
- vec2
(static) min(out, a, b) → {vec2}
Returns the minimum of two vec2's
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
- Source:
Returns:
out
- Type
- vec2
(static) mul()
Alias for vec2.multiply
- Source:
(static) multiply(out, a, b) → {vec2}
Multiplies two vec2's
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
- Source:
Returns:
out
- Type
- vec2
(static) negate(out, a) → {vec2}
Negates the components of a vec2
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | vector to negate |
- Source:
Returns:
out
- Type
- vec2
(static) normalize(out, a) → {vec2}
Normalize a vec2
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | vector to normalize |
- Source:
Returns:
out
- Type
- vec2
(static) random(out, scaleopt) → {vec2}
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 omitted, a unit vector will be returned |
- Source:
Returns:
out
- Type
- vec2
(static) rotate(out, a, b, rad) → {vec2}
Rotate a 2D vector
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | The receiving vec2 |
a |
ReadonlyVec2 | The vec2 point to rotate |
b |
ReadonlyVec2 | The origin of the rotation |
rad |
Number | The angle of rotation in radians |
- Source:
Returns:
out
- Type
- vec2
(static) round(out, a) → {vec2}
Math.round the components of a vec2
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | vector to round |
- Source:
Returns:
out
- Type
- vec2
(static) scale(out, a, b) → {vec2}
Scales a vec2 by a scalar number
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the vector to scale |
b |
Number | amount to scale the vector by |
- Source:
Returns:
out
- Type
- vec2
(static) scaleAndAdd(out, a, b, scale) → {vec2}
Adds two vec2's after scaling the second operand by a scalar value
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
scale |
Number | the amount to scale b by before adding |
- Source:
Returns:
out
- Type
- vec2
(static) set(out, x, y) → {vec2}
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 |
- Source:
Returns:
out
- Type
- vec2
(static) sqrDist()
Alias for vec2.squaredDistance
- Source:
(static) sqrLen()
Alias for vec2.squaredLength
- Source:
(static) squaredDistance(a, b) → {Number}
Calculates the squared euclidian distance between two vec2's
Parameters:
Name | Type | Description |
---|---|---|
a |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
- Source:
Returns:
squared distance between a and b
- Type
- Number
(static) squaredLength(a) → {Number}
Calculates the squared length of a vec2
Parameters:
Name | Type | Description |
---|---|---|
a |
ReadonlyVec2 | vector to calculate squared length of |
- Source:
Returns:
squared length of a
- Type
- Number
(static) str(a) → {String}
Returns a string representation of a vector
Parameters:
Name | Type | Description |
---|---|---|
a |
ReadonlyVec2 | vector to represent as a string |
- Source:
Returns:
string representation of the vector
- Type
- String
(static) sub()
Alias for vec2.subtract
- Source:
(static) subtract(out, a, b) → {vec2}
Subtracts vector b from vector a
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the first operand |
b |
ReadonlyVec2 | the second operand |
- Source:
Returns:
out
- Type
- vec2
(static) transformMat2(out, a, m) → {vec2}
Transforms the vec2 with a mat2
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the vector to transform |
m |
ReadonlyMat2 | matrix to transform with |
- Source:
Returns:
out
- Type
- vec2
(static) transformMat2d(out, a, m) → {vec2}
Transforms the vec2 with a mat2d
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the vector to transform |
m |
ReadonlyMat2d | matrix to transform with |
- Source:
Returns:
out
- Type
- vec2
(static) transformMat3(out, a, m) → {vec2}
Transforms the vec2 with a mat3
3rd vector component is implicitly '1'
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
a |
ReadonlyVec2 | the vector to transform |
m |
ReadonlyMat3 | matrix to transform with |
- Source:
Returns:
out
- Type
- vec2
(static) transformMat4(out, a, m) → {vec2}
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 |
ReadonlyVec2 | the vector to transform |
m |
ReadonlyMat4 | matrix to transform with |
- Source:
Returns:
out
- Type
- vec2
(static) zero(out) → {vec2}
Set the components of a vec2 to zero
Parameters:
Name | Type | Description |
---|---|---|
out |
vec2 | the receiving vector |
- Source:
Returns:
out
- Type
- vec2