我可以从oculus获得旋转度。量子到欧拉,欧拉到度。 俯仰,滚转和偏航的范围是从-90到90.有没有办法增加范围-180到180?我知道不能使用arcus函数,因为它的范围从-pi / 2到pi / 2
答案 0 :(得分:0)
double a = ts.HeadPose.ThePose.Orientation.x;
double b = ts.HeadPose.ThePose.Orientation.y;
double c = ts.HeadPose.ThePose.Orientation.z;
double d = ts.HeadPose.ThePose.Orientation.w;
double kat_x = atan2(2 * (a*b + c*d), 1 - 2 * (b*b + c*c));
kat_x = (kat_x * 180) / 3.1415;
double kat_y = asin(2 * (a*c - d*b));
kat_y = (kat_y * 180) / 3.1415;
double kat_z = atan2(2 * (a*d + b*c), 1 - 2 * (c*c + d*d));
kat_z = (kat_z * 180) / 3.1415;
好的,现在它正在运作。而不是使用atan我需要使用atan2