let vDist = (v1, v2) => { // takes v1, v2 to be arrays of same length // computes cartesian distance var sum = 0 for (let i = 0; i < v1.length; i++) { sum += Math.pow((v1[i] - v2[i]), 2) } return Math.sqrt(sum) } let vSum = (v1, v2) => { let ret = [] for(let i = 0; i < v1.length; i ++){ ret.push(v1[i] + v2[i]) } return ret } let vLen = (v) => { let sum = 0 for(let i = 0; i < v.length; i ++){ sum += Math.pow(v[i], 2) } return Math.sqrt(sum) } // from v1 to v2, let vUnitBetween = (v1, v2) => { let dist = vDist(v1, v2) let ret = [] for(let i = 0; i < v1.length; i ++){ ret[i] = (v2[i] - v1[i]) / dist } return ret } let vScalar = (v, s) => { let ret = [] for(let i = 0; i < v.length; i ++){ ret[i] = v[i] * s } return ret } let deg = (rad) => { return rad * (180 / Math.PI) } export { vDist, vSum, vLen, vUnitBetween, vScalar, deg }