Newer
Older
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])
}
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 }