|
@@ -24,11 +24,14 @@ namespace bbiwarg.DataSource
|
|
|
public Palm getPalm(uint handIndex)
|
|
|
{
|
|
|
DenseVector palmMiddle = (DenseVector) input.getPalmPosition3D(handIndex);
|
|
|
- DenseVector thumbPosition = (DenseVector) input.getFingerTipPositions3D(handIndex)[0];
|
|
|
- DenseVector tipPosition = (DenseVector)input.getTipPosition3D(handIndex);
|
|
|
+ DenseVector tipPosition = (DenseVector)input.getTipPosition3D(handIndex);
|
|
|
+ DenseVector palmNormal = (DenseVector)input.getPalmNormal3D(handIndex);
|
|
|
+ //DenseVector thumbPosition = (DenseVector) input.getFingerTipPositions3D(handIndex)[0];
|
|
|
|
|
|
- DenseVector palmToThumb_2 = (thumbPosition - palmMiddle) / 2.0f;
|
|
|
- DenseVector tipToForeFinger = tipPosition - palmMiddle;
|
|
|
+ //DenseVector palmToThumb_2 = (thumbPosition - palmMiddle) / 2.0f;
|
|
|
+ DenseVector tipToForeFinger = tipPosition - palmMiddle;
|
|
|
+ DenseVector palmToThumb_2 = (DenseVector) tipToForeFinger.Cross(palmNormal) / 3.0f;
|
|
|
+
|
|
|
|
|
|
return new Palm(palmMiddle + palmToThumb_2 + tipToForeFinger,
|
|
|
palmMiddle - palmToThumb_2 + tipToForeFinger,
|