mirror of https://github.com/vladmandic/human
Fix and cleanup
parent
1fc99eb1a7
commit
9418d1a78f
|
@ -48,30 +48,19 @@ const calculateFaceAngle = (face, image_size): { pitch: number, yaw: number, row
|
||||||
if (r10 < 1) {
|
if (r10 < 1) {
|
||||||
if (r10 > -1) {
|
if (r10 > -1) {
|
||||||
thetaZ = Math.asin(r10);
|
thetaZ = Math.asin(r10);
|
||||||
// thetaY = Math.atan2(-r20, r00);
|
thetaY = Math.atan2(-r20, r00);
|
||||||
thetaX = Math.atan2(-r12, r11);
|
thetaX = Math.atan2(-r12, r11);
|
||||||
} else {
|
} else {
|
||||||
thetaZ = -pi / 2;
|
thetaZ = -pi / 2;
|
||||||
// thetaY = -Math.atan2(r21, r22);
|
thetaY = -Math.atan2(r21, r22);
|
||||||
thetaX = 0;
|
thetaX = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
thetaZ = pi / 2;
|
thetaZ = pi / 2;
|
||||||
// thetaY = Math.atan2(r21, r22);
|
thetaY = Math.atan2(r21, r22);
|
||||||
thetaX = 0;
|
thetaX = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// compensate Y rotation (from XYZ rotation order routine) which is not accurate and too small in YZX calculation
|
|
||||||
if (r02 < 1) {
|
|
||||||
if (r02 > -1) {
|
|
||||||
thetaY = Math.asin(r02);
|
|
||||||
} else {
|
|
||||||
thetaY = -pi / 2;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
thetaY = pi / 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// pitch, yaw, row
|
// pitch, yaw, row
|
||||||
return [-thetaX, -thetaY, -thetaZ];
|
return [-thetaX, -thetaY, -thetaZ];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue