3Gear hand model

Terminology

We will, whenever possible, use the most accurate anatomical terminology; this should make it easier to compare our hand model against others.

Flexion/extension
This is the anatomical term for the motion involved in bending the fingers. Flexion refers to bending them toward the palm; extension is the reverse.
Adduction/abduction
Abduction is the motion of spreading the fingers apart, while adduction is the opposite.
Proximal/distal
Proximal means close to the body; distal mean away from the body. The proximal bone is generally the one closest to the arm while the distal bone is furthest away.

Bone structure

Figure 1 Bone structure of the hand.

For the fingers (index through pinky), the carpals and metacarpals can be assumed to be fixed in the wrist frame. In reality, there is a little bit of abduction in the metacarpals (which can be detected by squeezing the pinky and index finger together), but this is a relatively minor component of the overall hand motion and is ignored by the hand tracking algorithms. The three bones in the finger are the proximal phalange, the intermediate phalange, and the distal phalange.

For the thumb, the metacarpal is actually free to move, and there are only two phalangeal bones: the proximal phalange and the distal phalange. proximal, intermediate, and distal phalanges

Joints

Figure 2 Joints of the hand.

Because they have different bone structures, the finger and thumb joints are also named differently.

First, the finger joints (applies to the index, middle, ring, and pinky fingers).

Metacarpal-phalangeal joint (MCP)
First joint of the finger; connects the metacarpal bone to the proximal phalange.
Proximal interphalangeal joint (PIP)
Second joint of the finger; connects the proximal phalange to the intermediate phalange.
Distal interphalangeal joint (DIP)
Third and final joint of the finger; connects the intermediate phalange to the distal phalange.

Now, the thumb joints.

Carpal-metacarpal joint (CMC)
First joint of the thumb; connects the metacarpal to the carpal bones at the base of the wrist.
Metacarpal-phalangeal joint (MCP)
Second joint of the thumb; connects the metacarpal to the proximal phalange.
Interphalangeal joint (IP)
Connects the proximal phalange to the distal phalange.

Joint frames

Figure 3 Joint frames as returned by PoseMessage::getJointFrames.

There are two pieces of data returned by the hand tracking. The first are the joint frames returned by PoseMessage::getJointFrames or PoseMessage::getJointTransforms. These are 3D frames (defined by a rotation and translation) that are located along the bones and should be used for skinning. In addition, if you need a 3D frame, these are the ones to use. The WRIST_JOINT frame is special; it is aligned to the back of the hand and is the most stable frame. The naming here is not strictly anatomical; we use PROXIMAL, INTERMEDIATE and DISTAL for each digit to refer to the frame that is closest/furthest from the body as in Figure 3.

Degrees of freedom

The second piece of data reported in the PoseMessage are the finger DOF. These correspond to joint angles for the various firnger joints and can be used for gesture recognition. The DOF are numberd as in the table below; note that we don't report joint angles for the distal interphalangeal, which is assumed to be slaved to the proximal interphalangeal joint.

DOF Digit Joint Motion
0ThumbCMCAA
1ThumbCMCFE
2ThumbMCPFE
3ThumbIPFE
4IndexMCPAA
5IndexMCPFE
6IndexPIPFE
7MiddleMCPAA
8MiddleMCPFE
9MiddlePIPFE
10RingMCPAA
11RingMCPFE
12RingPIPFE
13PinkyMCPAA
14PinkyMCPFE
15PinkyPIPFE