|
|
5 years ago | |
|---|---|---|
| .. | ||
| LICENSE.md | 5 years ago | |
| README.md | 5 years ago | |
| add.js | 5 years ago | |
| calculateW.js | 5 years ago | |
| clone.js | 5 years ago | |
| conjugate.js | 5 years ago | |
| copy.js | 5 years ago | |
| create.js | 5 years ago | |
| dot.js | 5 years ago | |
| fromMat3.js | 5 years ago | |
| fromValues.js | 5 years ago | |
| identity.js | 5 years ago | |
| index.js | 5 years ago | |
| invert.js | 5 years ago | |
| length.js | 5 years ago | |
| lerp.js | 5 years ago | |
| multiply.js | 5 years ago | |
| normalize.js | 5 years ago | |
| package.json | 5 years ago | |
| rotateX.js | 5 years ago | |
| rotateY.js | 5 years ago | |
| rotateZ.js | 5 years ago | |
| rotationTo.js | 5 years ago | |
| scale.js | 5 years ago | |
| set.js | 5 years ago | |
| setAxes.js | 5 years ago | |
| setAxisAngle.js | 5 years ago | |
| slerp.js | 5 years ago | |
| sqlerp.js | 5 years ago | |
| squaredLength.js | 5 years ago | |
README.md
gl-quat
Part of a fork of @toji's
gl-matrix split into smaller pieces: this
package contains glMatrix.quat.
Usage
quat = require('gl-quat')
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 slerp = require('gl-quat').slerp
var slerp = require('gl-quat/slerp')
API
- add()
- calculateW()
- copy()
- conjugate()
- copy()
- create()
- dot()
- fromMat3()
- fromValues()
- identity()
- invert()
- length()
- lerp()
- multiply()
- normalize()
- rotateX()
- rotateY()
- rotateZ()
- rotationTo()
- scale()
- set()
- setAxes()
- setAxisAngle()
- slerp()
- sqlerp()
- squaredLength()
calculateW(out:quat, a:quat)
Calculates the W component of a quat from the X, Y, and Z components. Assumes that quaternion is 1 unit in length. Any existing W component will be ignored.
add(out:quat, a:quat, b:quat)
Adds two quat's
conjugate(out:quat, a:quat)
Calculates the conjugate of a quat If the quaternion is normalized, this function is faster than quat.inverse and produces the same result.
copy(out:quat, a:quat)
Copy the values from one quat to another
create()
Creates a new identity quat
dot(a:quat, b:quat)
Calculates the dot product of two quat's
fromMat3(out:quat, m:mat3)
Creates a quaternion from the given 3x3 rotation matrix.
NOTE: The resultant quaternion is not normalized, so you should be sure to renormalize the quaternion yourself where necessary.
fromValues(x:Number, y:Number, z:Number, w:Number)
identity(out:quat)
Set a quat to the identity quaternion
invert(out:quat, a:quat)
Calculates the inverse of a quat
length(a:quat)
Calculates the length of a quat
lerp(out:quat, a:quat, b:quat, t:Number)
Performs a linear interpolation between two quat's
multiply(out:quat, a:quat, b:quat)
Multiplies two quat's
normalize(out:quat, a:quat)
Normalize a quat
rotateX(out:quat, a:quat, rad:number)
Rotates a quaternion by the given angle about the X axis
rotateY(out:quat, a:quat, rad:number)
Rotates a quaternion by the given angle about the Y axis
rotateZ(out:quat, a:quat, rad:number)
Rotates a quaternion by the given angle about the Z axis
rotationTo(out:quat, a:vec3, b:vec3)
Sets a quaternion to represent the shortest rotation from one vector to another.
Both vectors are assumed to be unit length.
scale(out:quat, a:quat, b:Number)
Scales a quat by a scalar number
set(out:quat, x:Number, y:Number, z:Number, w:Number)
Set the components of a quat to the given values
setAxes(view:vec3, right:vec3, up:vec3)
Sets the specified quaternion with values corresponding to the given axes. Each axis is a vec3 and is expected to be unit length and perpendicular to all other specified axes.
setAxisAngle(out:quat, axis:vec3, rad:Number)
Sets a quat from the given angle and rotation axis, then returns it.
slerp(out:quat, a:quat, b:quat, t:Number)
Performs a spherical linear interpolation between two quat
sqlerp(out:quat, a:quat, b:quat, c:quat, d:quat, t:Number)
Performs a spherical linear interpolation with two control points
squaredLength(a:quat)
Calculates the squared length of a quat
License
MIT. See LICENSE.md for details.
