88 lines
1.4 KiB
Markdown
88 lines
1.4 KiB
Markdown
|
# vec3
|
||
|
[![NPM version](https://img.shields.io/npm/v/vec3.svg)](http://npmjs.com/package/vec3)
|
||
|
[![Build Status](https://github.com/PrismarineJS/node-vec3/workflows/CI/badge.svg)](https://github.com/PrismarineJS/node-vec3/actions?query=workflow%3A%22CI%22)
|
||
|
|
||
|
3D vector math with robust unit tests.
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```js
|
||
|
var v = require('vec3');
|
||
|
|
||
|
var v1 = v(1, 2, 3);
|
||
|
console.log(v1); // prints "(1, 2, 3)"
|
||
|
var v2 = v1.offset(0, 0, 1);
|
||
|
console.log(v2); // prints "(1, 2, 4)"
|
||
|
```
|
||
|
|
||
|
Or:
|
||
|
|
||
|
```js
|
||
|
var Vec3 = require('vec3').Vec3;
|
||
|
|
||
|
var v1 = new Vec3(1, 2, 3);
|
||
|
// etc...
|
||
|
```
|
||
|
|
||
|
More available functions are listed below in Test Coverage.
|
||
|
|
||
|
## Test Coverage
|
||
|
|
||
|
```
|
||
|
v()
|
||
|
✓ no args
|
||
|
✓ x, y, z
|
||
|
✓ array
|
||
|
✓ object
|
||
|
✓ string coords
|
||
|
✓ deserialize
|
||
|
✓ invalid deserialize
|
||
|
|
||
|
vec3
|
||
|
✓ rounded
|
||
|
✓ round
|
||
|
✓ floored
|
||
|
✓ floor
|
||
|
✓ offset
|
||
|
✓ translate
|
||
|
✓ plus
|
||
|
✓ minus
|
||
|
✓ scaled
|
||
|
✓ abs
|
||
|
✓ distanceTo
|
||
|
✓ equals
|
||
|
✓ toString
|
||
|
✓ clone
|
||
|
✓ add
|
||
|
✓ subtract
|
||
|
✓ multiply
|
||
|
✓ divide
|
||
|
✓ set
|
||
|
✓ modulus
|
||
|
✓ volume
|
||
|
✓ min
|
||
|
✓ max
|
||
|
✓ update
|
||
|
✓ norm
|
||
|
✓ dot
|
||
|
✓ cross
|
||
|
✓ unit
|
||
|
✓ normalize
|
||
|
✓ scale
|
||
|
✓ xyDistanceTo
|
||
|
✓ xzDistanceTo
|
||
|
✓ yzDistanceTo
|
||
|
✓ innerProduct
|
||
|
✓ manhattanDistanceTo
|
||
|
✓ toArray
|
||
|
|
||
|
|
||
|
39 passing
|
||
|
```
|
||
|
|
||
|
More functions welcome in the form of pull requests.
|
||
|
|
||
|
## History
|
||
|
|
||
|
See [History](HISTORY.md)
|