JSFiddle - React, Tailwind, and code Playground

by jmcjc5u

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/84/three.js"></script>

JavaScript

(function() {
  rotateAlongAxisTo = function(u, axis, w) {
    let angle = u.angleTo(w);
    let cc = u.clone();
    cc.cross(w);
    if (cc.dot(axis) > 0)
      return angle;
    else
      return -angle;
  }
})();

var u = new THREE.Vector3(1, 0, 0);
var v = new THREE.Vector3(0, 1, 0);
var w = new THREE.Vector3(0, 0, 1);

console.log(rotateAlongAxisTo(w, -v, u))