-
Notifications
You must be signed in to change notification settings - Fork 11
HandPose Reference
(WIP)
This guide deals with the values inside the HandPose generated by HapticGloves, thier coordinate system, and how they can be used to animate a hand model
The HandPose is a class containing all positions- and rotations that can be used to represent a hand in 3D space. It consists of four variables:
The isRight boolean variable shows that this HandPose was generated for a right hand (if true) - or left hand (if false). Its mainly used to match a HandPose to the appropriate (virtual) hand.
The handAngles parameter represents the articulation of the finger's joints, in radians, relative to the previous hand bone. It is a 5x3 array of Vectors (Vect3D), which represents these angles as Pronation/Supination (x), Flexion/Extension (y) and Abduction/Adduction (z) of said joint. The first index indicates the finger, while the second indicates the joint of said finger. It does not include the fingertip.
The jointPositions represent the position of the hand joints in 3D space, in millimeters, relative to the wrist (0, 0, 0). JointPositions is a 5x4 array of Vectors (Vect3D). The first index of this array indicates the finger, while the second indicates the joint of said finger, including the fingertips. Use these to draw a wireframe, or to calculate the distance between finger joints.
The jointRotations represent the 3D (quaternion) rotation relative to the wrist. Note that "relative to the wrist" does not take into account the (IMU) rotation of the glove. JointRotations is a 5x4 array of Quaternions (Quat). The first index indicates the finger, while the second indicates the joint of said finger, including the fingertips.
- The x-axis is aligned along the metacarpal bone of the middle finger.
- The y-axis points towards the thumb of the right hand, and towards the pinky of the left hand.
- The z-axis runs perpendicular to the hand palm, going up from the dorsal side of the hand.
When working with joint angles, note that pronation/supination and abduction/adduction have opposite signs (+/-) for a left- and right hand due to them being opposite sides of the body.
- Pronation / Supination, a.k.a. the twist of the finger, is the angle around the x-axis (roll)..
- Flexion / Extension of the finger is the angle around the y-axis (pitch)
- Abduction / Adduction, a.k.a. the spreading of the fingers, is the angle around the z-axis (yaw)
(WIP)