space-vec3
v0.0.3
Published
3d space class based on the vec3 package.
Downloads
2
Readme
space-vec3
A 3d space class based on the vec3 package. Space instances will contain a vec3 dimensions field, and a Array of Arrays of Arrays matrix.
Installation
npm install space-vec3
Usage
var s = require("space-vec3");
// using the s object:
var space1 = s(s.vec3(5,7,11)); // a 5x7x11 matrix filled with 0s
var space2 = s(s.vec3(5,7,11), 9); // a 5x7x11 matrix filled with 9s
var space3 = s([[[1,2]],[[3,4]]]); // a 2x2x1 matrix
// directly from the Space class:
var space4 = s.Space(s.vec3(5,7,11)); // same as space1
var space5 = s.Space.parse([[[1,2]],[[3,4]]]); // same as space3
var space6 = s.Space.identity(3); // a 3x3x3 matrix filled with 0s except for the main diagonal, which is filled with 1s
Notice
The space matrices are stored as in the YZX convention. They are not in the XYZ format. So, if you ever need to iterate over a Space.matrix, the best way to do it is as follow:
for(var y = 0; y < spaceN.dimensions.y; y++)
for(var z = 0; z < spaceN.dimensions.z; z++)
for(var x = 0; x < spaceN.dimensions.x; x++)
do_something(vec3(x,y,z));
Use the Space.get(vec3) and Space.set(vec3, value) instead of accessing a space matrix directly (unless you know what you are doing).
To convert between YZX and XYZ formats use the Space.toXYZ() and Space.parse.fromXYZ(matrix).