0

我试过这个

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

在此处输入图像描述

谁能给我解释一下,什么是 X 和 Y 值?听说那个值的范围是-1到1。'rightHand.Position.Z'的值和Object的Z轴值一样吗?或者它表示对象与 3D 坐标系 (0,0,0) 中心的距离,也就是我可以说的 Z'?因为当我上下移动头部时,'rightHand.Position.Z' 值会增加得更高。但是,当我用 XZ 平面水平移动头部时,它会减小。

由于我需要获得线 Z' 和 XZ 平面之间的角度(Z' 与其在 XZ 上的正交投影之间的角度),我希望有人解释一下 X 和 Y 是什么?

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

4

1 回答 1

2

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

在 Microsoft Kinect SDK 中,坐标系以 Kinect 传感器为中心,下图解释了它是如何定义的:

Kinect 坐标系

如果您需要更多详细信息,请查看官方文档MSDN 论坛上的这篇文章。

于 2016-04-04T09:43:02.160 回答