如何找出Kinect视线与头关节之间的角度。我已经尝试了很多,但我没能成功。我没有线索,下一步该做什么。
请帮我弄清楚找出这个角度的方法。
答案 0 :(得分:1)
我希望我能正确理解你的问题,但这应该很容易。
头部关节有3个坐标(X,Y,Z)。 Z是距离kinect深度相机的距离。 您可以将kinect深度相机视为位于世界(0,0,0)中。这意味着深度图像的中心是原点。
在这种情况下,您可以使用Atan2来计算X和Y角度,如下所示:
X angle = atan2(headjoint.Position.Y, headjoint.Position.Z);
Y angle = atan2(headjoint.Position.X, headjoint.Position.Z);
答案 1 :(得分:0)
安德烈的答案是正确的,但X和Y角是错误的方式。
如果你想在X轴上找出玩家的角度(使用c#),请执行:
xAngle = Math.Atan2(headjoint.Position.X, headjoint.Position.Z);
要在Y轴上找到角度,请执行以下操作:
yAngle = Math.Atan2(headjoint.Position.Y, headjoint.Position.Z);
这对我非常有用,因为我试图将音频光束朝向播放器。干杯!