Vector 3
Installation
npm i vek3 --save
Example Usuage
var myVectorOne = new Vector.Three([1,2,3]), myVectorTwo = new Vector.Three([3,4,5]); myVectorOne.angle(myVectorTwo).toString() // 0.18623876586484955myVectorOne.add(myVectorTwo).toString() // vec3:(4, 6, 8)myVectorOne.multiplyScalar(2).array // [ 2, 4, 6 ] *JavaScript Array primitive*myVectorOne.eq(myVectorTwo) // false
Variables
x // X axis (get:set)y // Y axis (get:set)z // Z axis (get:set)array // [ x, y, z ]magnitude // Vector magnitudenormal // Vector normal
Basic Arithmetic
add // Add one vector to anothersubtract // Subtract one vector from anothermultiplyScalar // Multiply vector by a scalardivideScalar // Divide vector by a scalar
Comparators
eq // Returns true if side a is equal to side b. Eg. A.eq(b)neq // Returns true if side a is NOT equal to side b. Eg. A.neq(b)
Methods
multiply // Multiplies vector a with vector bdivide // Divides vector a by vector bangle // Calcualtes the angle between vector a and vector bdot // Dot product of a and bcross // Cross product of vector a and bdistance // The distance between vector a and vector bnegate // The negative vector of aabs // The absolute vector of arefelct // Invert valueslerp // Interpolate values
Static Methods
max // Returns a new vector with the larger axis valuesmin // Returns a new vector with the smaller axis values
Complete Usuage
var myVectorOne = new Vector.Three([1,2,3]), myVectorTwo = new Vector.Three([3,4,5]); myVectorOne.array; // [ 1, 2, 3 ]myVectorOne.magnitude; // 14myVectorOne.normal; //3.7416573867739413 myVectorOne.add(myVectorTwo).toString(); // vec3:(4, 6, 8)myVectorOne.subtract(myVectorTwo).toString(); // vec3:(-2, -2, -2)myVectorOne.multiplyScalar(2).toString(); // vec3:(2, 4, 6)myVectorOne.divideScalar(2).toString(); // vec3:(0.5, 1, 1.5) myVectorOne.eq(myVectorTwo); // falsemyVectorOne.neq(myVectorTwo); // true myVectorOne.multiply(myVectorTwo).toString(); // vec3:(3, 8, 15)myVectorOne.divide(myVectorTwo).toString(); // vec3:(0.3333333333333333, 0.5, 0.6)myVectorOne.angle(myVectorTwo); // 0.18623876586484955myVectorOne.dot(myVectorTwo); // 26myVectorOne.cross(myVectorTwo).toString(); // vec3:(-2, 4, -2)myVectorOne.distance(myVectorTwo); // 3.4641016151377544myVectorOne.negate().toString() // vec3:(-1, -2, -3)myVectorOne.abs().toString() // vec3:(1, 2, 3)myVectorOne.reflect().toString() // vec3:(-1, -2, -3)myVectorOne.lerp(myVectorTwo, 5).toString() // vec3:(11, 12, 13) Vector.Three.max(myVectorOne, myVectorTwo).toString(); //vec3:(3, 4, 5)Vector.Three.min(myVectorOne, myVectorTwo).toString(); // vec3:(1, 2, 3)