What is (X, Y) value in Kinect's Skeleton Joint.Position. (X,Y, Z)?

2.8k Views Asked by At

I tried this

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

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

then I got this :

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

enter image description here

Can anyone explain to me, what is X and Y value? I heard that the range of that value will be from -1 to 1. Is the value of 'rightHand.Position.Z' same as the Z-axis value of the Object? Or it represents the object's distance from the center of the 3D coordinate system (0,0,0) which is I may say Z'? Because when I move my head up and down 'rightHand.Position.Z' value increases higher. However, it decreases when I move my head horizontally with XZ plane.

Due to I need to obtain the angle between the line Z' and the XZ plane (the angle between Z' and its orthogonal projection onto XZ), I want somebody to explain what is X and Y?

PS: XZ plane is the plane between X-axis and Z-axis.

1

There are 1 best solutions below

1
Vito Gentile On

The Position property is a 3D vector which contains X, Y and Z properties. Each of these properties represents the distance in meters (along the X, Y and Z directions) of the joint from the origin of the coordinate system used.

In Microsoft Kinect SDK, the coordinate system is centered on the Kinect sensor, and the following image explains how it is defined:

Kinect coordinate system

Take a look to the official documentation and this post on MSDN forum if you need more details.