Skip to content
Snippets Groups Projects
smallvectors.js 926 B
Newer Older
  • Learn to ignore specific revisions
  • Jake Read's avatar
    Jake Read committed
    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])
      }
    
    Jake Read's avatar
    Jake Read committed
    }
    
    
    let vLen = (v) => {
      let sum = 0
      for(let i = 0; i < v.length; i ++){
        sum += Math.pow(v[i], 2)
      }
      return Math.sqrt(sum)
    }
    
    
    Jake Read's avatar
    Jake Read committed
    // 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
      }
    
    let deg = (rad) => {
      return rad * (180 / Math.PI)
    }
    
    
    Jake Read's avatar
    Jake Read committed
    export { vDist, vSum, vLen, vUnitBetween, vScalar, deg }