Monthly Archives: March 2014
In IISU, the positions of five fingertips are provided as IDataHandle<Iisu.Data.Vector3>, which is a vector of Vector3.
Each Vector3 has three elements x, y, z which are different from those of joints from Kinect SDK or OpenNI.
In other words, suppose that I place my hand in front of DS325 such as in the figure above.
If I move my finger to right, the value of x increases, move far away from my body the value of y increases and move up the value of z increases.
In short, for the case of above figure, to increase all the coordinate values of finger move the finger up-right far away from the body.
Note that, in IISU, y coordinate corresponds to the depth from DS325 to the finger while in OpenNI or Kinect SDK z corresponds to the depth from Kinect.
However, ToUnityVector3Array() function will take care of this inconsistency.
ToUnityVector3Array() swaps the y and z coordinate values and gives a vector of Unity Vector3s for that of IISU Vector3s.
The unit of coordinate values is meter.
That is, if my finger is located as 5cm left, 7mm up, 44cm far away with respect to the center of DS325 depth cam, the values of Iisu.Data.Vector3 for the finger are (-0.05, 0.44, 0.007). If this were the case for OpenNI, the values would be (-50, 7, 440), which are in the unit of millimeter.