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 } ));