21
Animating Human Locomotion Shang-Lin Chen

Animating Human Locomotion Shang-Lin Chen. Introduction Animate human figure on flat solid surface. Has legs, knees, torso, arms, head, hips. Mainly use

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Animating Human Locomotion

Shang-Lin Chen

Introduction

Animate human figure on flat solid surface. Has legs, knees, torso, arms, head, hips. Mainly use inverse kinematics with some

forward dynamics. Essential element of walking: leg motion

Front View

Side View

States

State 1 – Lift Right Leg

State 1

yyy

xxx

LuLuy

Lux

)cos(cos)(

sinsin

State 1

sindet

det

11

1

uLJ

xy

xy

JJ

y

xJ

yy

xx

JJy

x

State 1

When sin ζ = 0, J-1 becomes singular. Avoid singularity by assigning predetermined

values to Δθ and Δζ. No singularity – Use regular inverse

kinematics. Get frame-by-frame angle increments.

State 2

Left leg leans forward, right leg steps forward.

Initial position same as final position of State 1.

State 2 – Intermediate Position

State 2 – Final Position

State 2 - Math

Tip of left leg serves as pivot. Coefficients determined from forward dynamics

– moment of inertia.

012

2 AtAtA

State 2 - Math

)sin(cossin

)cossin(

1)(cos

0.sinwhenSingular

)sin(det

)cos(cossin)(

)sin(sincos)(

yxLyxL

uLJ

LLuy

xLuLux tipleft

State 3

Straighten right leg. Pull left leg forward.

State 3

State 3 - Math

Inverse kinematics similar to State 2. Method of avoiding singularities also similar

to State 2.

States 4-6 are mirror images of States 1-3. Once leg motion done, add on torso, head,

and arms. Change posture for aesthetics.

Implementation

C++, OpenGL, GLUT Start in State 0, loop continuously through

other states. Code math equations for each state. Inputs: θmax, step size, leg length.

Other Methods

Forward and inverse dynamics– Needs physics and biomechanics.– More realistic but much more complex.

Motion capture– Subject wears sensors to capture motion data.– Or build physical model.

AVI movie

AVI movie (backup)