Namespace: vec3
Table of contents
Type aliases
Functions
- add
- angle
- bezier
- ceil
- clone
- copy
- create
- cross
- distance
- divide
- dot
- equals
- exactEquals
- floor
- forEach
- fromValues
- hermite
- inverse
- length
- lerp
- max
- min
- multiply
- negate
- normalize
- random
- rotateX
- rotateY
- rotateZ
- round
- scale
- scaleAndAdd
- set
- squaredDistance
- squaredLength
- str
- subtract
- transformMat3
- transformMat4
- transformQuat
Type aliases
valueType
Ƭ valueType: vec3type
Functions
add
▸ add(out: vec3type, a: vec3type, b: vec3type): vec3type
Adds two vec3's
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the first operand |
b |
vec3type | the second operand |
Returns: vec3type
out
angle
▸ angle(a: vec3type, b: vec3type): number
Get the angle between two 3D vectors
Parameters
Returns: number
The angle in radians
bezier
▸ bezier(out: vec3type, a: vec3type, b: vec3type, c: vec3type, d: vec3type, t: number): vec3type
Performs a bezier interpolation with two control points
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the first operand |
b |
vec3type | the second operand |
c |
vec3type | the third operand |
d |
vec3type | the fourth operand |
t |
number | interpolation amount between the two inputs |
Returns: vec3type
out
ceil
▸ ceil(out: vec3type, a: vec3type): vec3type
Math.ceil the components of a vec3
Parameters
Returns: vec3type
out
clone
▸ clone(a: vec3type): vec3type
Creates a new vec3 initialized with values from an existing vector
Parameters
| Name | Type | Description |
|---|---|---|
a |
vec3type | vector to clone |
Returns: vec3type
a new 3D vector
copy
▸ copy(out: vec3type, a: vec3type): vec3type
Copy the values from one vec3 to another
Parameters
Returns: vec3type
out
create
▸ create(): vec3type
Creates a new, empty vec3
Returns: vec3type
a new 3D vector
cross
▸ cross(out: vec3type, a: vec3type, b: vec3type): vec3type
Computes the cross product of two vec3's
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the first operand |
b |
vec3type | the second operand |
Returns: vec3type
out
distance
▸ distance(a: vec3type, b: vec3type): number
Calculates the euclidian distance between two vec3's
Parameters
Returns: number
distance between a and b
divide
▸ divide(out: vec3type, a: vec3type, b: vec3type): vec3type
Divides two vec3's
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the first operand |
b |
vec3type | the second operand |
Returns: vec3type
out
dot
▸ dot(a: vec3type, b: vec3type): number
Calculates the dot product of two vec3's
Parameters
Returns: number
dot product of a and b
equals
▸ equals(a: vec3type, b: vec3type): boolean
Returns whether or not the vectors have approximately the same elements in the same position.
Parameters
Returns: boolean
True if the vectors are equal, false otherwise.
exactEquals
▸ exactEquals(a: vec3type, b: vec3type): boolean
Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)
Parameters
Returns: boolean
True if the vectors are equal, false otherwise.
floor
▸ floor(out: vec3type, a: vec3type): vec3type
Math.floor the components of a vec3
Parameters
Returns: vec3type
out
forEach
▸ forEach(a: vec3type, stride: number, offset: number, count: number, fn: (out: vec3type, vec: vec3type, arg: any) => void, arg?: any): any
Perform some operation over an array of vec3s.
function
Parameters
| Name | Type | Description |
|---|---|---|
a |
vec3type | the array of vectors to iterate over |
stride |
number | Number of elements between the start of each vec3. If 0 assumes tightly packed |
offset |
number | Number of elements to skip at the beginning of the array |
count |
number | Number of vec3s to iterate over. If 0 iterates over entire array |
fn |
(out: vec3type, vec: vec3type, arg: any) => void |
Function to call for each vector in the array |
arg? |
any | - |
Returns: any
a
fromValues
▸ fromValues(x: number, y: number, z: number): vec3type
Creates a new vec3 initialized with the given values
Parameters
| Name | Type | Description |
|---|---|---|
x |
number | X component |
y |
number | Y component |
z |
number | Z component |
Returns: vec3type
a new 3D vector
hermite
▸ hermite(out: vec3type, a: vec3type, b: vec3type, c: vec3type, d: vec3type, t: number): vec3type
Performs a hermite interpolation with two control points
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the first operand |
b |
vec3type | the second operand |
c |
vec3type | the third operand |
d |
vec3type | the fourth operand |
t |
number | interpolation amount between the two inputs |
Returns: vec3type
out
inverse
▸ inverse(out: vec3type, a: vec3type): vec3type
Returns the inverse of the components of a vec3
Parameters
Returns: vec3type
out
length
▸ length(a: vec3type): number
Calculates the length of a vec3
Parameters
| Name | Type | Description |
|---|---|---|
a |
vec3type | vector to calculate length of |
Returns: number
length of a
lerp
▸ lerp(out: vec3type, a: vec3type, b: vec3type, t: number): vec3type
Performs a linear interpolation between two vec3's
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the first operand |
b |
vec3type | the second operand |
t |
number | interpolation amount between the two inputs |
Returns: vec3type
out
max
▸ max(out: vec3type, a: vec3type, b: vec3type): vec3type
Returns the maximum of two vec3's
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the first operand |
b |
vec3type | the second operand |
Returns: vec3type
out
min
▸ min(out: vec3type, a: vec3type, b: vec3type): vec3type
Returns the minimum of two vec3's
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the first operand |
b |
vec3type | the second operand |
Returns: vec3type
out
multiply
▸ multiply(out: vec3type, a: vec3type, b: vec3type): vec3type
Multiplies two vec3's
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the first operand |
b |
vec3type | the second operand |
Returns: vec3type
out
negate
▸ negate(out: vec3type, a: vec3type): vec3type
Negates the components of a vec3
Parameters
Returns: vec3type
out
normalize
▸ normalize(out: vec3type, a: vec3type): vec3type
Normalize a vec3
Parameters
Returns: vec3type
out
random
▸ random(out: vec3type, s?: number): vec3type
Generates a random vector with the given scale
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
out |
vec3type | - | the receiving vector |
s |
number | 1.0 | - |
Returns: vec3type
out
rotateX
▸ rotateX(out: vec3type, a: vec3type, b: vec3type, c: number): vec3type
Rotate a 3D vector around the x-axis
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | The receiving vec3 |
a |
vec3type | The vec3 point to rotate |
b |
vec3type | The origin of the rotation |
c |
number | The angle of rotation |
Returns: vec3type
out
rotateY
▸ rotateY(out: vec3type, a: vec3type, b: vec3type, c: number): vec3type
Rotate a 3D vector around the y-axis
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | The receiving vec3 |
a |
vec3type | The vec3 point to rotate |
b |
vec3type | The origin of the rotation |
c |
number | The angle of rotation |
Returns: vec3type
out
rotateZ
▸ rotateZ(out: vec3type, a: vec3type, b: vec3type, c: number): vec3type
Rotate a 3D vector around the z-axis
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | The receiving vec3 |
a |
vec3type | The vec3 point to rotate |
b |
vec3type | The origin of the rotation |
c |
number | The angle of rotation |
Returns: vec3type
out
round
▸ round(out: vec3type, a: vec3type): vec3type
Math.round the components of a vec3
Parameters
Returns: vec3type
out
scale
▸ scale(out: vec3type, a: vec3type, b: number): vec3type
Scales a vec3 by a scalar number
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the vector to scale |
b |
number | amount to scale the vector by |
Returns: vec3type
out
scaleAndAdd
▸ scaleAndAdd(out: vec3type, a: vec3type, b: vec3type, s: number): vec3type
Adds two vec3's after scaling the second operand by a scalar value
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the first operand |
b |
vec3type | the second operand |
s |
number | the amount to scale b by before adding |
Returns: vec3type
out
set
▸ set(out: vec3type, x: number, y: number, z: number): vec3type
Set the components of a vec3 to the given values
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
x |
number | X component |
y |
number | Y component |
z |
number | Z component |
Returns: vec3type
out
squaredDistance
▸ squaredDistance(a: vec3type, b: vec3type): number
Calculates the squared euclidian distance between two vec3's
Parameters
Returns: number
squared distance between a and b
squaredLength
▸ squaredLength(a: vec3type): number
Calculates the squared length of a vec3
Parameters
| Name | Type | Description |
|---|---|---|
a |
vec3type | vector to calculate squared length of |
Returns: number
squared length of a
str
▸ str(a: vec3type): string
Returns a string representation of a vector
Parameters
| Name | Type | Description |
|---|---|---|
a |
vec3type | vector to represent as a string |
Returns: string
string representation of the vector
subtract
▸ subtract(out: vec3type, a: vec3type, b: vec3type): vec3type
Subtracts vector b from vector a
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the first operand |
b |
vec3type | the second operand |
Returns: vec3type
out
transformMat3
▸ transformMat3(out: vec3type, a: vec3type, m: mat4type): vec3type
Transforms the vec3 with a mat3.
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the vector to transform |
m |
mat4type | the 3x3 matrix to transform with |
Returns: vec3type
out
transformMat4
▸ transformMat4(out: vec3type, a: vec3type, m: mat4type): vec3type
Transforms the vec3 with a mat4. 4th vector component is implicitly '1'
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the vector to transform |
m |
mat4type | matrix to transform with |
Returns: vec3type
out
transformQuat
▸ transformQuat(out: vec3type, a: vec3type, q: quattype): vec3type
Transforms the vec3 with a quat
Parameters
| Name | Type | Description |
|---|---|---|
out |
vec3type | the receiving vector |
a |
vec3type | the vector to transform |
q |
quattype | quaternion to transform with |
Returns: vec3type
out