function RollPitchYawToMachine(roll, pitch, yaw) {
var _A = roll * Math.PI / 180;
var _B = pitch * Math.PI / 180;
var _C = yaw * Math.PI / 180;
var _sB = Math.sin(_B), _cB = Math.cos(_B);
var _sA = Math.sin(_A), _cA = Math.cos(_A);
var _sC = Math.sin(_C), _cC = Math.cos(_C);
var I = _sB * _cC;
var J = _sA * _cB * _cC + _cA * _sC;
var K = _cA * _cB * _cC - _sA * _sC;
var _cosA = 2 * K - 1;
if (_cosA < -1) {
_cosA = -1;
}
if (_cosA > 1) {
_cosA = 1;
}
var A = Math.acos(_cosA) * 180.0 / Math.PI;
var _sinA = Math.sqrt(1 - _cosA * _cosA);
if (J > 0) {
A = -1 * A;
_sinA = -1 * _sinA;
}
var _cX = (1 - _cosA) / 2;
var _cY = _sinA / Math.sqrt(2);
var dumb = _cX * _cX + _cY * _cY;
if (dumb < 0.000001) {
var C = 0;
} else {
var _c1 = I * _cY + J * _cX;
var _c2 = I * _cX - J * _cY;
var C = Math.atan2(_c1, _c2) * 180.0 / Math.PI;
}
A = -1 * parseFloat(A.toFixed(3));
C = -1 * parseFloat(C.toFixed(3));
return "A=" + A + " C=" + C;
}
console.log(RollPitchYawToMachine(0,90,0));
console.log(RollPitchYawToMachine(0,-90,0));
console.log(RollPitchYawToMachine(90,0,0));
console.log(RollPitchYawToMachine(-90,0,0));
console.log(RollPitchYawToMachine(45,0,0));
console.log(RollPitchYawToMachine(-45,0,0));
console.log(RollPitchYawToMachine(0,45,0));
console.log(RollPitchYawToMachine(0,-45,0));