JSFiddle - React, Tailwind, and code Playground
by Michael Prosser
JavaScript
function dotProductOf(a,b){
return a.x*b.x+a.y*b.y+a.z*b.z;
}
function magnitudeOf(a){
return Math.sqrt(a.x*a.x+a.y*a.y+a.z*a.z);
}
function degrees(radians) {
return radians * 180 / Math.PI;
};
function angleBetween(a,b){
var dot = dotProductOf(a,b);
var ma = magnitudeOf(a);
var mb = magnitudeOf(b);
return degrees(Math.cos(dot/(ma*mb)));
}
alert(angleBetween( { x:3, y:4, z: 0 }, { x:4, y:4, z: 2 } ));