Package Exports
- gl-vec3
- gl-vec3/add
- gl-vec3/angle
- gl-vec3/copy
- gl-vec3/create
- gl-vec3/cross
- gl-vec3/distance
- gl-vec3/divide
- gl-vec3/dot
- gl-vec3/fromValues
- gl-vec3/inverse
- gl-vec3/length
- gl-vec3/lerp
- gl-vec3/multiply
- gl-vec3/negate
- gl-vec3/normalize
- gl-vec3/rotateX
- gl-vec3/rotateY
- gl-vec3/rotateZ
- gl-vec3/scale
- gl-vec3/scaleAndAdd
- gl-vec3/set
- gl-vec3/squaredDistance
- gl-vec3/squaredLength
- gl-vec3/subtract
- gl-vec3/transformMat4
- gl-vec3/transformQuat
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gl-vec3) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
gl-vec3
Part of a fork of @toji's
gl-matrix split into smaller pieces: this
package contains glMatrix.vec3
.
Usage
vec3 = require('gl-vec3')
Will load all of the module's functionality and expose it on a single object. Note that any of the methods may also be required directly from their files.
For example, the following are equivalent:
var scale = require('gl-vec3').scale
var scale = require('gl-vec3/scale')
API
- add()
- angle()
- clone()
- copy()
- create()
- cross()
- distance()
- divide()
- dot()
- forEach()
- fromValues()
- inverse()
- length()
- lerp()
- max()
- min()
- multiply()
- negate()
- normalize()
- random()
- rotateX()
- rotateY()
- rotateZ()
- scale()
- scaleAndAdd()
- set()
- squaredDistance()
- squaredLength()
- subtract()
- transformMat3()
- transformMat4()
- transformQuat()
add(out:vec3, a:vec3, b:vec3)
Adds two vec3's
angle(a:vec3, b:vec3)
Get the angle between two 3D vectors
clone(a:vec3)
Creates a new vec3 initialized with values from an existing vector
copy(out:vec3, a:vec3)
Copy the values from one vec3 to another
create()
Creates a new, empty vec3
cross(out:vec3, a:vec3, b:vec3)
Computes the cross product of two vec3's
distance(a:vec3, b:vec3)
Calculates the euclidian distance between two vec3's
divide(out:vec3, a:vec3, b:vec3)
Divides two vec3's
dot(a:vec3, b:vec3)
Calculates the dot product of two vec3's
forEach(a:Array, stride:Number, offset:Number, count:Number, fn:Function, [arg]:Object)
Perform some operation over an array of vec3s.
fromValues(x:Number, y:Number, z:Number)
Creates a new vec3 initialized with the given values
inverse(out:vec3, a:vec3)
Returns the inverse of the components of a vec3
length(a:vec3)
Calculates the length of a vec3
lerp(out:vec3, a:vec3, b:vec3, t:Number)
Performs a linear interpolation between two vec3's
max(out:vec3, a:vec3, b:vec3)
Returns the maximum of two vec3's
min(out:vec3, a:vec3, b:vec3)
Returns the minimum of two vec3's
multiply(out:vec3, a:vec3, b:vec3)
Multiplies two vec3's
negate(out:vec3, a:vec3)
Negates the components of a vec3
normalize(out:vec3, a:vec3)
Normalize a vec3
random(out:vec3, [scale]:Number)
Generates a random vector with the given scale
rotateX(out:vec3, a:vec3, b:vec3, c:Number)
Rotate a 3D vector around the x-axis
rotateY(out:vec3, a:vec3, b:vec3, c:Number)
Rotate a 3D vector around the y-axis
rotateZ(out:vec3, a:vec3, b:vec3, c:Number)
Rotate a 3D vector around the z-axis
scale(out:vec3, a:vec3, b:Number)
Scales a vec3 by a scalar number
scaleAndAdd(out:vec3, a:vec3, b:vec3, scale:Number)
Adds two vec3's after scaling the second operand by a scalar value
set(out:vec3, x:Number, y:Number, z:Number)
Set the components of a vec3 to the given values
squaredDistance(a:vec3, b:vec3)
Calculates the squared euclidian distance between two vec3's
squaredLength(a:vec3)
Calculates the squared length of a vec3
subtract(out:vec3, a:vec3, b:vec3)
Subtracts vector b from vector a
transformMat3(out:vec3, a:vec3, m:mat4)
Transforms the vec3 with a mat3.
transformMat4(out:vec3, a:vec3, m:mat4)
Transforms the vec3 with a mat4. 4th vector component is implicitly '1'
transformQuat(out:vec3, a:vec3, q:quat)
Transforms the vec3 with a quat
License
zlib. See LICENSE.md for details.