summaryrefslogtreecommitdiff
path: root/src/utils/unitizeVector.js
blob: 6297ca863b0ae4ec4d8aac787d8e21df8a6267a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
const unitize = (vector) => {
  // Not *technically* a unit vector, but has x,y components of |magnitude| = 1
  Object.keys(vector).forEach((key) => {
    if (typeof vector[key] === 'object') {
      vector[key] = vector[key].unitize();
    } else if (typeof vector[key] === 'number') {
      vector[key] = (vector[key] === 0 ? 0 : vector[key] / Math.abs(vector[key]));
    }
  });
  return vector;
}