Title: 681 - Introduction to Computer Graphics
1Forward Kinematics
2Specifying a Pose
3Forward Kinematics
Hierarchical model - joints and links
Joints - rotational or prismatic
Joints - 1, 2, or 3 Degree of Freedom
Links - displayable objects
Pose - setting parameters for all joint DoFs
Pose Vector - a complete set of joint parameters
4Animate a Pose
Interpolate pose vectors
5Joint Representation
Degree of Freedom
DOF
Joint Limits
6Joint Representation
Multiple
Degrees of Freedom
Joint Limits
gimbal lock
Axis-angle quaternions
7Joint Representation
Note
User interface representation may not be the
same used for internal representation and
operations
8Link and Node Representation
transformation
transformation
data
geometry
9How to Represent Articulators
Joint-Link Hierarchies
Define Link data so its point of rotation is at
the origin
Rotate the link
Position it relative to its parent link in the
hierarchy
Put it through all the transformations of its
parent link
10Tree Representation
Transformations
Joint
Arc
NodePtr
Transformations
Node
DataPtr
Link
LinkPtr
11Tree Traversal
M I
M T0
M T0T1.1
M T0T1.1T1.2
T0
M T0T1.1
M T0
T1.1
T2.1
M T0T2.1
T2.2
T1.2
M T0T2.1T2.2
12Articulated Figure Representation
13Link and Node Representation
Transformation (fixed)
Transformation (changeable)
transformation
data
geometry
14Tree Traversal
M I
T0
M T0
T1.1
M T0T1.1R1.1
T2.1
R2.1
R1.1
M T0T1.1R1.1T1.2R1.2
M T0T1.1R1.1
T2.2
T1.2
M T0
R2.2
R1.2
M T0T2.1R2.1
M T0T2.1T2.2R2.2
15Tree Traversal
T0
How do you represent more than one degree of
freedom at a joint?
T1.1
T2.1
R2.1
R1.1
T2.2
T1.2
- Zero length segments Between 1 DoF joints
- Multiple DoF transformation at joint
R2.2
R1.2
16Joint Transformations
Rotation representation matrix? Euler angles?
Quaternions?
Impose joint limits on rotations? Need complex
functions to model human figure limits
Could have translational joints, e.g.,
telescoping legs
Pose vector vector of all joint angles q1 q2 q3
qn Interpolate between poses gimbal lock
possible if 3 DoF joints
17Forward Kinematics
Define Joint-Link Hierarchy
Define sequence of keyposes with corresponding
times
For given time t, use keyposes to interpolate
pose at time t
Traverse tree hierarchy using pose vector to
supply angles
18Forward Kinematics
19Use key-values
With key-poses - entire pose vector is specified
Better to allow independent keys for each
articulation variable (or avar)
Sometimes called track-based
frames