code: function rotateX(out, a, b, c){
      var by = b[1]
      var bz = b[2]
  
      // Translate point to the origin
      var py = a[1] - by
      var pz = a[2] - bz
  
      var sc = Math.sin(c)
      var cc = Math.cos(c)
  
      // perform rotation and translate to correct position
      out[0] = a[0]
      out[1] = by + py * cc - pz * sc
      out[2] = bz + py * sc + pz * cc
  
      return out
  }
docs: Rotate a 3D vector around the x-axis
  @param {vec3} out The receiving vec3
  @param {vec3} a The vec3 point to rotate
  @param {vec3} b The origin of the rotation
  @param {Number} c The angle of rotation
  @returns {vec3} out