JSFiddle - React, Tailwind, and code Playground

by Michael Prosser

JavaScript

var A = { x: 0,y: 0,z: 0,rx: 0, ry: 0,rz: 0, sx: 1, sy: 1,sz: 1 };
var B = { x: 100,y: 100,z:100, rx: 0,ry: 0,rz: 0, sx: 1, sy: 1,sz: 1 };

angleBetweenPoints = function(p1,p2){

		return Math.atan2(p2.z - p1.z, p2.x - p1.x) * 180 / Math.PI;
		
	};
	
angleBetweenPoints2 = function(p1,p2){

		return Math.atan2(p2.y - p1.y, p2.z - p1.z) * 180 / Math.PI;
		
	};
  
nextPosition = function(x,y,z,rx,ry,rz,d){
		
		var angle_rx_inradians = rx * Math.PI / 180;
		var angle_ry_inradians = ry * Math.PI / 180;

		var z2 = z + Math.cos(angle_ry_inradians) * (d*-1);
		var x2 = x + Math.sin(angle_ry_inradians) * (d*-1);
		var y2 = y + Math.tan(angle_rx_inradians) * (d*-1);

		return { x: x2, y: y2, z: z2, rx: rx, ry: ry, rz: rz };
		
		
};
  
console.log(angleBetweenPoints(A,B));
console.log(angleBetweenPoints2(A,B));