什么是Kinect's Skeleton Joint.Position中的(X,Y)值。 (X,Y,Z)?

时间:2016-04-03 15:59:34

标签: kinect tracking kinect-sdk kinect.toolbox

我试过这个

Joint rightHand = skeleton.Joints[JointType.HandRight];

double rightX = rightHand.Position.X;
double rightY = rightHand.Position.Y;
double rightZ = rightHand.Position.Z;

然后我得到了这个:

rightX : 0,04908288
rightY : -0,0657815
rightZ : 1,776147

enter image description here

任何人都可以向我解释一下X和Y的值是多少? 我听说该值的范围是-1到1。 是' rightHand.Position.Z'的价值与对象的Z轴值相同?或者它代表物体与3D坐标系中心的距离(0,0,0),我可以说是Z&#39 ;?因为当我向上和向下移动我的头时,右手掌。位置Z'价值增加更高。然而,当我用XZ平面水平移动我的头时,它会减少。

由于我需要获得线Z'之间的角度。和XZ平面(Z'以及它在XZ上的正交投影之间的角度),我想要有人解释什么是X和Y?

PS:XZ平面是X轴和Z轴之间的平面。

1 个答案:

答案 0 :(得分:2)

Position属性是一个3D矢量,其中包含XYZ属性。这些属性中的每一个都表示从所使用的坐标系的原点开始的关节的以米为单位的距离(沿着X,Y和Z方向)。

在Microsoft Kinect SDK中,坐标系统以Kinect传感器为中心,下图说明了它的定义:

Kinect coordinate system

如果您需要更多详细信息,请查看official documentationthis post on MSDN forum