csce 641 computer graphics: animation with motion capture jinxiang chai
Post on 20-Dec-2015
233 views
TRANSCRIPT
![Page 1: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/1.jpg)
CSCE 641 Computer Graphics: Animation with Motion Capture
Jinxiang Chai
![Page 2: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/2.jpg)
Outline of Mocap (Motion Capture)
Mocap history
Mocap technologies
Mocap pipeline
Mocap data fromat
![Page 3: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/3.jpg)
Motion Capture
“ …recording of motion for immediate or delayed analysis or playback…”
- David J. Sturman
“The creation of a 3d representation of a live performance”
- Alberto Menache
“…is a technique of digitally recording movements for entertainment, sports, and medical applications.”
- Wikipedia
![Page 4: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/4.jpg)
History of Motion Capture
Eadweard Muybridge (1830-1904)
• first person to photograph movement sequences
![Page 5: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/5.jpg)
History of Motion Capture
Eadweard Muybridge (1830-1904)
• first person to photograph movement sequences
• whether during a horse's trot, all four hooves were ever off the ground at the same time.
• the flying horse
Sequence of a horse jumping (courtesy of E. Muybridge)
![Page 6: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/6.jpg)
History of Motion Capture
Eadweard Muybridge (1830-1904)
• first person to photograph movement sequences
• the flying horse
• animal locomotion (20k pictures about men, women, children, animals, and birds).
Woman walking downstairs (courtesy of E. Muybridge)
![Page 7: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/7.jpg)
Rotoscope
Allow animators to trace cartoon character over photographed frames of live performances
• invented by Max Fleischer in 1915
![Page 8: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/8.jpg)
Rotoscope
Allow animators to trace cartoon character over photographed frames of live performances
• invented by Max Fleischer in 1915
• 2D manual motion capture
A horse animated by rotoscoping from Muybridge’s photos
![Page 9: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/9.jpg)
Rotoscoping
“rotoscoping can be thought of as a primitive form or precursoro to motion capture, where the motion is ‘captured’ painstakingly by hand.” - Sturman
Mocap Overview
![Page 10: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/10.jpg)
Another example
![Page 11: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/11.jpg)
Allow animators to trace cartoon character over photographed frames of live performances
• invented by Max Fleischer in 1915
• 2D manual capture
• the first cartoon character to be rotoscoped -- “Koko the clown”
• the human character animation -- snow white and her prince (Walt Disney, 1937)
Rotoscope
![Page 12: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/12.jpg)
“3D Rotoscoping”: measuring 3D positions, orientations, velocities or accelerations
Current motion capture systems
• Electromagnetic
• Electromechanical
• Fiber optic
• Optical
Current Motion Capture Technologies
![Page 13: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/13.jpg)
Each sensor record 3D position and orientation
Each sensor placed on joints of moving object
Full-body motion capture needs at least 15 sensors
Popular system:
http://www.ascension-tech.com/
Electromagnetic Mocap
![Page 14: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/14.jpg)
See video demo [1, 2]!
Electromagnetic Mocap
![Page 15: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/15.jpg)
Pros
• measure 3D position and orientation
• no occlusion problems
• can capture multiple subjects simultaneously
Cons
• magnetic perturbations (metal)
• small capture volume
• cannot capture deformation (facial expression)
• hard to capture small bone movement (finger motion)
• not as accurate as optical mocap system
Electromagnetic Mocap
![Page 16: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/16.jpg)
Each sensor measures 3D orientation
Electromechanical Mocap
![Page 17: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/17.jpg)
Each sensor measures 3D orientation
Each sensor placed on joints of moving object
Full-body motion capture needs at least 15 sensors
Popular systems:
http://www.xsens.com/
Electromechanical Mocap
![Page 18: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/18.jpg)
See video demo [1,2]!
Electromechanical Mocap
![Page 19: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/19.jpg)
Pros
• measure 3D orientation
• no occlusion problems
• can capture multiple subjects simultaneously
• large capture volume
• Outdoors capture (e.g. skiing)
Cons
• getting 3D position info is not easy
• cannot capture deformation (facial expression)
• hard to capture small bone movement (finger motion)
• not as accurate as optical mocap system
Electromechanical Mocap
![Page 20: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/20.jpg)
Measures 3D position and orientation of entire tape
Binding the tape to the body
Popular systems: http://www.measurand.com/
Fiber Optic Mocap
![Page 21: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/21.jpg)
See video demo [1,2]!
Fiber Optic Mocap
![Page 22: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/22.jpg)
Pros
• measure 3D orientation and position
• no occlusion problems
• can capture multiple subjects simultaneously
• go anywhere mocap system
• can capture hand/finger motion
Cons
• intrusive capture
• cannot capture deformation (facial expression)
• not as accurate as optical mocap system
Fiber Optic Mocap
![Page 23: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/23.jpg)
Multiple calibrated cameras (>=8) digitize different views of performance
Wears retro-reflective markers
Accurately measures 3D positions of markers
Optical Mocap
![Page 24: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/24.jpg)
See video demo [1,2]!
Optical Mocap
Vicon mocap system: http://www.vicon.com
![Page 25: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/25.jpg)
Pros
• measure 3D position data also orientation
• the most accurate capture method
• very high frame rate
• can capture very detailed motion (body, finger, facial deformation, etc.)
Cons
• has occlusion problems
• hard to capture interactions among multiple ppl
• limited capture volume
Optical Mocap
![Page 26: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/26.jpg)
Video-based Mocap
• Mocap using a video camera, click here.
• Motion capture using kinects, click here
![Page 27: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/27.jpg)
Mocap Pipeline
Optical Mocap pipeline
• Planning
• Calibration
• Data processing
![Page 28: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/28.jpg)
Planning
• Motion capture requires serious planning• Anticipate how the data will be used• Garbage in garbage out• Shot list• Games
– motions need to be able to blend into one an another– capture base motions and transitions– which motions transition into which other transitions– cycles/loops
![Page 29: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/29.jpg)
Movement Flowchart for Games
•Planning and Directing Motion Capture For GamesBy Melianthe Kines GamasutraJanuary 19, 2000URL: http://www.gamasutra.com/features/20000119/kines_01.htm
![Page 30: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/30.jpg)
Planning
Character/prop set up
- character skeleton topology (bones/joints number, Dofs for each bone)
- location and size of props
Marker Setup
- the number of markers
- where to place markers
![Page 31: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/31.jpg)
Calibration
Camera Calibration:
determine the location and orientation of each camera
determine camera parameters (e.g. focal length)
Subject calibration
- determine the skeleton size of actors/actresses (.asf file)
- relative marker positions in terms of bones
- determine the size and location of props
![Page 32: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/32.jpg)
Processing Markers
• Each camera records capture session• Extraction: markers need to be
identified in the image– determines 2d position– problem: occlusion, marker is not seen
• use more cameras
• Markers need to be labeled– which marker is which?– problem: crossover, markers exchange
labels• may require user intervention
• Compute 3d position: if a marker is seen by at least 2 cameras then its position in 3d space can be determined
http://www.xbox.com/NR/rdonlyres/3164D1BE-C1C4-46A1-90F0-26507CF2C9BD/0/ilmnflfever2003lightscam001.jpg
![Page 33: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/33.jpg)
Data Process
3D marker positions (.c3d file)
Complete 3D marker trajectories
(.c3d file)
Fill in missing data
Filter mocap data
![Page 34: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/34.jpg)
Data Process
3D marker positions (.c3d file)
Inverse Kinematics
Joint angle data (.amc file)
Complete 3D marker trajectories
(.c3d file)
Fill in missing data
Filter mocap data
![Page 35: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/35.jpg)
Data Process
3D marker positions (.c3d file)
Inverse Kinematics
Joint angle data (.amc file)
Complete 3D marker trajectories
(.c3d file)
Fill in missing data
Filter mocap data
How to represent motion data in joint angle space?
![Page 36: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/36.jpg)
Animation: a sequence of poses over time: q1,q2,…qT
Each pose is represented as a high-dimensional vector R62
Human Motion Representation
![Page 37: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/37.jpg)
Motion Capture Data Files
Each sequence of human motion data contains two files:– Skeleton file (.asf): Specify
the skeleton model of character
– Motion data file (.amc): Specify the joint angle values over the frame/time
– Both files are generated by Vicon software
![Page 38: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/38.jpg)
Human Skeletal File
Described in a default pose
![Page 39: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/39.jpg)
),,( 0yx
3c2c
0c
A1c
Articulated Character
• A default pose (0,0,0,0,0,0)
![Page 40: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/40.jpg)
Skeletal Model
• A 2D lamp character3l
A2l
1l
0l
40
![Page 41: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/41.jpg)
Composite 2D Transformation
• What’s the current coordinate A ?
1
2
3
3c
2c
1c
A
03221100 )()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp
),,( 0yx0c
41
![Page 42: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/42.jpg)
Skeletal Information and Default Pose from ASF
• Coordinate transform from child node to parent in default pose
03221100 )()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp 42
),,( 0yx
3c2c
0c
A1c
![Page 43: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/43.jpg)
Joint Angle Poses from AMC Files
• Joint angle poses: global position and orientation and local joint angles
1
2
3
3c
2c
1c
A
03221100 )()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp
),,( 0yx0c
43
![Page 44: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/44.jpg)
Human Skeletal Model
This is still a tree!
![Page 45: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/45.jpg)
Human Skeletal Model
This is still a tree!
• How to describe the skeletal model?
• What should you know about each bone?
![Page 46: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/46.jpg)
Human Skeletal File (.asf)
• individual bone information - length of the bone
- direction of the bone
- local coordinate frame
- number of Dofs
- joint limits
• bone hierarchy/connections
![Page 47: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/47.jpg)
Individual Bone Informationbegin
id bone_id /* Unique id for each bone */name bone_name /* Unique name for each bone */direction dX dY dZ /* Vector describing direction of the bone in world */ coor. system length 7.01722 /* Length of the bone*/ axis 0 0 20 XYZ /* Rotation of local coordinate system for this bone relative to the world coordinate system. In .AMC file the rotation angles for this bone for each time frame will be defined relative to this local coordinate system**/ dof rx ry rz /* Degrees of freedom for this bone. limits (-160.0 20.0) /* joint limits*/ (-70.0 70.0) (-60.0 70.0) end
![Page 48: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/48.jpg)
Individual Bone Information
begin id 2 name lfemur direction 0.34 -0.93 0 length 7.01722 axis 0 0 20 XYZ dof rx ry rz limits (-160.0 20.0) (-70.0 70.0) (-60.0 70.0) end
xw
yw
zw
![Page 49: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/49.jpg)
Individual Bone Information
begin id 2 name lfemur direction 0.34 -0.93 0 length 7.01722 axis 0 0 20 XYZ dof rx ry rz limits (-160.0 20.0) (-70.0 70.0) (-60.0 70.0) end
xw
yw
zw
![Page 50: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/50.jpg)
Individual Bone Information
begin id 2 name lfemur direction 0.34 -0.93 0 length 7.01722 axis 0 0 20 XYZ dof rx ry rz limits (-160.0 20.0) (-70.0 70.0) (-60.0 70.0) end
xw
yw
zw
![Page 51: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/51.jpg)
Individual Bone Information
begin id 2 name lfemur direction 0.34 -0.93 0 length 7.01722 axis 0 0 20 XYZ dof rx ry rz limits (-160.0 20.0) (-70.0 70.0) (-60.0 70.0) end
xw
yw
zw
xk
yk
zk
Euler angle representation: Rk=Rz(γ)Ry(β)Rx(α)
![Page 52: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/52.jpg)
Individual Bone Information
begin id 2 name lfemur direction 0.34 -0.93 0 length 7.01722 axis 0 0 20 XYZ dof rx ry rz limits (-160.0 20.0) (-70.0 70.0) (-60.0 70.0) end
xw
yw
zw
xk
yk
zk
- The number of dof for this joint
- The minimal and maximum joint angle for each dof
![Page 53: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/53.jpg)
Individual Bone Information
begin id 2 name lfemur direction 0.34 -0.93 0 length 7.01722 axis 0 0 20 XYZ dof rx ry rz limits (-160.0 20.0) (-70.0 70.0) (-60.0 70.0) end
xw
yw
zw
yk
xk
zk
1-dof joint 2-dof joint 3-dof joint
![Page 54: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/54.jpg)
Individual Bone Information
begin id 2 name lfemur direction 0.34 -0.93 0 length 7.01722 axis 0 0 20 XYZ dof rx ry rz limits (-160.0 20.0) (-70.0 70.0) (-60.0 70.0) end begin id 3 name ltibia direction 0.34 -0.93 0 length 7.2138 axis 0 0 20 XYZ dof rx limits (-10.0 170.0) end
xk
zk Xk+1
zk+1
yk
yk+1
![Page 55: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/55.jpg)
Root Representation
:root
order TX TY TZ RX RY RZ
axis XYZ
position 0 0 0
orientation 0 0 0 xw
yw
zw
![Page 56: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/56.jpg)
Root Representation
:root
order TX TY TZ RX RY RZ
axis XYZ
position 0 0 0
orientation 0 0 0 xw
yw
zw
How to compute the coordinate of a joint in the world coordinate frame?
![Page 57: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/57.jpg)
Root Representation
:root
order TX TY TZ RX RY RZ
axis XYZ
position 0 0 0
orientation 0 0 0 xw
yw
zw
How to compute the coordinate of a joint in the world coordinate frame?
![Page 58: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/58.jpg)
:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end
Hierarchy/Bone Connections
![Page 59: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/59.jpg)
:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end
root rhipjoint
lowerback
Hierarchy/Bone Connections
![Page 60: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/60.jpg)
:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end
root rhipjoint lhipjoint
lowerback
lfemur
Hierarchy/Bone Connections
![Page 61: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/61.jpg)
:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end
root rhipjoint lhipjoint
lowerback
lfemur
Hierarchy/Bone Connections
ltibia
![Page 62: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/62.jpg)
:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end
root rhipjoint lhipjoint
lowerback
lfemur
Hierarchy/Bone Connections
ltibia
lfoot
![Page 63: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/63.jpg)
:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end
root rhipjoint lhipjoint
lowerback
lfemur
Hierarchy/Bone Connections
ltibia
lfoot
ltoe
![Page 64: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/64.jpg)
What Can We Do With .asf File?
We can visualize the default pose
We can compute various transforms in the default pose
- between world coordinate frame and local coordinate
- between parent coordinate frame and child coordinate frame
![Page 65: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/65.jpg)
From Local Coordinate to World Coordinate
xw
yw
zwyk
xk
zk
kkkw TXRX
![Page 66: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/66.jpg)
From Local Coordinate to World Coordinate
xw
yw
zwyk
xk
zk
kkkw TXRX ? ?
![Page 67: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/67.jpg)
From Local Coordinate to World Coordinate
xw
yw
zwyk
kkkw TXRX
![Page 68: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/68.jpg)
From Local Coordinate to World Coordinate
xw
yw
zwyk
xk
zk
kkkw TXRX
![Page 69: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/69.jpg)
From Child to Parent NodeHow to Compute the transformation Tk
k-1 from a child local coordinate frame to its parent local coordinate frame
x
Tkk-1
![Page 70: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/70.jpg)
Bone Transform
111 kkkw TXRX
kkkw TXRX
world
parent
child
Tkk-1?
![Page 71: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/71.jpg)
Bone Transform
111 kkkw TXRX
kkkw TXRX
111 kkkkkkw TXRTXRX
world
parent
child
Tkk-1?
![Page 72: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/72.jpg)
Bone Transform
111 kkkw TXRX
kkkw TXRX
111 kkkkkkw TXRTXRX
world
parent
child
Tkk-1?
)( 111
111
kkkkkkk TTRXRRX
10
)( 111
111 kkkkkk
k
TTRRRT
![Page 73: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/73.jpg)
Motion Data File (.amc)i // frame numberroot 2.36756 16.4521 12.3335 -165.118 31.188 -179.889 // root position and orientationlowerback -17.2981 -0.243065 -1.41128 // joint angles for lowerback jointupperback 0.421503 -0.161394 2.20925 // joint angles for thorax jointthorax 10.2185 -0.176777 3.1832lowerneck -15.0172 -5.84786 -7.55529upperneck 30.0554 -3.19622 -4.68899head 12.6247 -2.35554 -0.876544rclavicle 4.77083e-014 -3.02153e-014rhumerus -23.3927 30.8588 -91.7324rradius 108.098rwrist -35.4375rhand -5.30059 11.2226rfingers 7.12502rthumb 20.5046 -17.7147lclavicle 4.77083e-014 -3.02153e-014lhumerus -35.2156 -19.5059 100.612
![Page 74: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/74.jpg)
Joint Angle Poses from AMC Files
• Joint angle poses: global position and orientation and local joint angles
1
2
3
3c
2c
1c
A
03221100 )()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp
),,( 0yx0c
74
![Page 75: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/75.jpg)
Motion Data File (.amc)i
// frame numberroot 2.36756 16.4521 12.3335 -165.118 31.188 -
179.889 // root position and orientationlowerback -17.2981 -0.243065 -1.41128
// joint angles for lowerback jointupperback 0.421503 -0.161394 2.20925
// joint angles for thorax jointthorax 10.2185 -0.176777 3.1832lowerneck -15.0172 -5.84786 -7.55529upperneck 30.0554 -3.19622 -4.68899head 12.6247 -2.35554 -0.876544rclavicle 4.77083e-014 -3.02153e-014rhumerus -23.3927 30.8588 -91.7324rradius 108.098rwrist -35.4375rhand -5.30059 11.2226rfingers 7.12502rthumb 20.5046 -17.7147lclavicle 4.77083e-014 -3.02153e-014lhumerus -35.2156 -19.5059 100.612
- Rotation described in local coordinate frame
- Euler angle representation x-y-z
)()()( xyz RRR
![Page 76: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/76.jpg)
Composite 3D Transformation
xRRTRTRRRTRRRzyxTp )()()()()()()()()(),,( 332
3212111
01000000
76From .asf file
![Page 77: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/77.jpg)
Composite 3D Transformation
xRRTRTRRRTRRRzyxTp )()()()()()()()()(),,( 332
3212111
01000000
77From .amc file
![Page 78: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/78.jpg)
Composite 3D Transformation
xRRTRTRRRTRRRzyxTp )()()()()()()()()(),,( 332
3212111
01000000
78
![Page 79: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/79.jpg)
Composite 3D Transformation
xRRTRTRRRTRRRzyxTp )()()()()()()()()(),,( 332
3212111
01000000
79
![Page 80: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/80.jpg)
Composite 3D Transformation
xRRTRTRRRTRRRzyxTp )()()()()()()()()(),,( 332
3212111
01000000
80
![Page 81: CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai](https://reader035.vdocuments.net/reader035/viewer/2022062308/56649d535503460f94a2f53f/html5/thumbnails/81.jpg)
Composite 3D Transformation
xRRTRTRRRTRRRzyxTp )()()()()()()()()(),,( 332
3212111
01000000
81