https://github.com/stackgl/gl-vec4
gl-matrix's vec4, split into smaller pieces
https://github.com/stackgl/gl-vec4
Last synced: 5 months ago
JSON representation
gl-matrix's vec4, split into smaller pieces
- Host: GitHub
- URL: https://github.com/stackgl/gl-vec4
- Owner: stackgl
- License: zlib
- Created: 2015-05-14T14:52:25.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2018-02-08T18:12:35.000Z (over 8 years ago)
- Last Synced: 2025-10-19T15:50:38.161Z (8 months ago)
- Language: JavaScript
- Homepage:
- Size: 15.6 KB
- Stars: 6
- Watchers: 15
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# gl-vec4
[](http://github.com/badges/stability-badges)
Part of a fork of [@toji](http://github.com/toji)'s
[gl-matrix](http://github.com/toji/gl-matrix) split into smaller pieces: this
package contains `glMatrix.vec4`.
## Usage
[](https://nodei.co/npm/gl-vec4/)
### `vec4 = require('gl-vec4')`
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:
``` javascript
var scale = require('gl-vec4').scale
var scale = require('gl-vec4/scale')
```
## API
- [add()](#addoutvec4-avec4-bvec4)
- [clone()](#cloneavec4)
- [copy()](#copyoutvec4-avec4)
- [create()](#create)
- [distance()](#distanceavec4-bvec4)
- [divide()](#divideoutvec4-avec4-bvec4)
- [dot()](#dotavec4-bvec4)
- [fromValues()](#fromvaluesxnumber-ynumber-znumber-wnumber)
- [inverse()](#inverseoutvec4-avec4)
- [length()](#lengthavec4)
- [lerp()](#lerpoutvec4-avec4-bvec4-tnumber)
- [max()](#maxoutvec4-avec4-bvec4)
- [min()](#minoutvec4-avec4-bvec4)
- [multiply()](#multiplyoutvec4-avec4-bvec4)
- [negate()](#negateoutvec4-avec4)
- [normalize()](#normalizeoutvec4-avec4)
- [random()](#randomoutvec4-scalenumber)
- [scale()](#scaleoutvec4-avec4-bnumber)
- [scaleAndAdd()](#scaleandaddoutvec4-avec4-bvec4-scalenumber)
- [set()](#setoutvec4-xnumber-ynumber-znumber-wnumber)
- [squaredDistance()](#squareddistanceavec4-bvec4)
- [squaredLength()](#squaredlengthavec4)
- [subtract()](#subtractoutvec4-avec4-bvec4)
- [transformMat4()](#transformmat4outvec4-avec4-mmat4)
- [transformQuat()](#transformquatoutvec4-avec4-qquat)
## add(out:vec4, a:vec4, b:vec4)
Adds two vec4's
## clone(a:vec4)
Creates a new vec4 initialized with values from an existing vector
## copy(out:vec4, a:vec4)
Copy the values from one vec4 to another
## create()
Creates a new, empty vec4
## distance(a:vec4, b:vec4)
Calculates the euclidian distance between two vec4's
## divide(out:vec4, a:vec4, b:vec4)
Divides two vec4's
## dot(a:vec4, b:vec4)
Calculates the dot product of two vec4's
## fromValues(x:Number, y:Number, z:Number, w:Number)
Creates a new vec4 initialized with the given values
## inverse(out:vec4, a:vec4)
Returns the inverse of the components of a vec4
## length(a:vec4)
Calculates the length of a vec4
## lerp(out:vec4, a:vec4, b:vec4, t:Number)
Performs a linear interpolation between two vec4's
## max(out:vec4, a:vec4, b:vec4)
Returns the maximum of two vec4's
## min(out:vec4, a:vec4, b:vec4)
Returns the minimum of two vec4's
## multiply(out:vec4, a:vec4, b:vec4)
Multiplies two vec4's
## negate(out:vec4, a:vec4)
Negates the components of a vec4
## normalize(out:vec4, a:vec4)
Normalize a vec4
## random(out:vec4, [scale]:Number)
Generates a random vector with the given scale
## scale(out:vec4, a:vec4, b:Number)
Scales a vec4 by a scalar number
## scaleAndAdd(out:vec4, a:vec4, b:vec4, scale:Number)
Adds two vec4's after scaling the second operand by a scalar value
## set(out:vec4, x:Number, y:Number, z:Number, w:Number)
Set the components of a vec4 to the given values
## squaredDistance(a:vec4, b:vec4)
Calculates the squared euclidian distance between two vec4's
## squaredLength(a:vec4)
Calculates the squared length of a vec4
## subtract(out:vec4, a:vec4, b:vec4)
Subtracts vector b from vector a
## transformMat4(out:vec4, a:vec4, m:mat4)
Transforms the vec4 with a mat4.
## transformQuat(out:vec4, a:vec4, q:quat)
Transforms the vec4 with a quat
## License
MIT. See [LICENSE.md](http://github.com/stackgl/gl-vec4/blob/master/LICENSE.md) for details.