UNPKG

vectors

Version:

A grab bag of vector utility functions for 2D and 3D vectors that operate on plain arrays

21 lines (16 loc) 380 B
module.exports = normalize function normalize(vec) { var mag = 0 for (var n = 0; n < vec.length; n++) { mag += vec[n] * vec[n] } mag = Math.sqrt(mag) // avoid dividing by zero if (mag === 0) { return Array.apply(null, new Array(vec.length)).map(Number.prototype.valueOf, 0) } for (var n = 0; n < vec.length; n++) { vec[n] /= mag } return vec }