Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Animation Algorithms and Techniques

Similar presentations


Presentation on theme: "Computer Animation Algorithms and Techniques"— Presentation transcript:

1 Computer Animation Algorithms and Techniques
Kinematic Linkages

2 Hierarchical Modeling
Define motion of one object relative to another Constrained motion - reduce dimensionality, simplify specification Linked appendages with joints Solar system Motion on a surface Local coordinate frames for simpler motion specification Data structure to facilitate keeping relative transformations

3 Solar system

4 Linked appendages Joint Link End Effector

5 Forward & Inverse Kinematics
images courtesy of Domin Lee

6 Revolute & Prismatic Joints

7 Complex Joints

8 Hierarchical structure

9 Tree structure

10 Tree structure

11 Tree structure Static

12 Relative movement

13 Tree structure Changable

14 Bifurcation in Model

15 Bifurcating tree

16 Traverse Tree Top to bottom traversal
Accumulate transformations during traversal Transformation at node only for data Save transformation before following link Restore when traversing sibling link

17 traverse(arcPtr,matrix)
{ ; get transformations of arc and concatenate to current matrix matrix = matrix*arcPtr->Lmatrix ; concatenate location matrix = matrix*arcPtr->Amatrix ; concatenate articulation ; process data at node nodePtr = arcPtr->nodePtr ; get the node of the arc push(matrix) ; save the matrix matrix = matrix * nodePtr->matrix ; ready for articulation articulatedData = transformData(matrix,dataPtr) ; articulate the data draw(articulatedData); ; and draw it matrix = pop() ; restore matrix for node’s children ; process children of node if (nodePtr->arcPtr!= NULL) { ; if not a terminal node nextArcPtr = nodePtr->arcPtr ; get first arc emanating from node while (nextArcPtr != NULL) { ; while there’s an arc to process push(matrix) ; save matrix at node traverse(nextArcPtr,matrix) ; traverse arc matrix = pop() ; restore matrix at node nextArcPtr = nextArcPtr->arcPtr ; set next child of node }

18 Inverse kinematics Position and orient end effect
Automatically calculate interior joint angles Only simple configurations can be solved analytically Often, solution must be iterative

19 Inverse kinematics Analytic method Iterative: Jacobian
Iterative solutions Pseudo-inverse adding more control alternative Jacobian using the transpose cyclic coordinate descent

20 Inverse Kinematics

21 Inverse Kinematics - Analytic

22 Inverse Kinematics - Analytic

23 Inverse Kinematics - Numeric
Determine affect of joint i on end effector

24 Inverse Kinematics - Numeric
desired direction of end effector to goal

25 Inverse Kinematics - Numeric
joint-effect vectors: gi

26 Singularities

27 IK - Jacobain

28 IK - goal out of reach Solutions with and without damping

29 IK - with control term all joints biased to 0
top: joint 2 has higher gain bottom: joint 3 has higher gain

30 IK - Pull goal to end effector

31 IK - transpose of the Jacobian

32 IK - Cyclic Coordinate Descent


Download ppt "Computer Animation Algorithms and Techniques"

Similar presentations


Ads by Google