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/equals
- 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()
- ceil()
- copy()
- create()
- cross()
- distance()
- dist()
- divide()
- div()
- dot()
- equals()
- exactEquals()
- floor()
- forEach()
- fromValues()
- inverse()
- length()
- len()
- lerp()
- max()
- min()
- multiply()
- mul()
- negate()
- normalize()
- random()
- rotateX()
- rotateY()
- rotateZ()
- round()
- scale()
- scaleAndAdd()
- set()
- squaredDistance()
- sqrDist()
- squaredLength()
- sqrLen()
- subtract()
- sub()
- 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
ceil(out:vec3, a:vec3)
Math.ceil
the components of a vec3
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. Aliased as dist
divide(out:vec3, a:vec3, b:vec3)
Divides two vec3's. Aliased as div
dot(a:vec3, b:vec3)
Calculates the dot product of two vec3's
equals(a:vec3, b:vec3)
Returns whether or not the vectors have approximately the same elements in the same position.
exactEquals(a:vec3, b:vec3)
Returns whether or not the vectors exactly have the same elements in the same position (when compared with ===)
floor(out:vec3, a:vec3)
Math.floor
the components of a vec3
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. Aliased as len
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. Aliased as mul
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
round(out:vec3, a:vec3)
Math.round
the components of a vec3
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. Aliased as sqrDist
squaredLength(a:vec3)
Calculates the squared length of a vec3. Aliased as sqrLen
subtract(out:vec3, a:vec3, b:vec3)
Subtracts vector b from vector a. Aliased as sub
transformMat3(out:vec3, a:vec3, m:mat3)
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.