Jinxiang Chai Composite Transformations and Forward Kinematics 0
Outline 2D Coordinate transformation Composite transformation & Forward kinematics 3D transformation 1
Image space Coordinate Transform: 3D Geometry Pipeline 2 Normalized project space View space World spaceObject space Aspect ratio & resolution Focal length Rotate and translate the camera
Coordinate Transformation: 3D Modeling/Design Coordinate transformation from one reference frame to another 3
Coordinate Transformation: Animation/Robotics How to model 2D movement of animated characters or robots? 4 Click herehere
Coordinate Transformation Coordinate transformation from one reference frame to another 5
Coordinate Transformation Coordinate transformation from one reference frame to another 6
Coordinate Transformation Coordinate transformation from one reference frame to another 7
Coordinate Transformation Coordinate transformation from one reference frame to another ? 8
Review – Vector Operations Dot Product 9
Review – Vector Operations Dot Product: measuring similarity between two vectors 10
Review – Vector Operations Dot Product: measuring similarity between two vectors 11
Review – Vector Operations Dot Product: measuring similarity between two vectors Unit vector: 12
Review – Vector Operations Dot Product: measuring similarity between two vectors 13
Review – Vector Operations Dot Product: measuring similarity between two vectors 14
Review – Vector Operations Cross Product: measuring the area determined by two vectors 15
Review – Vector Operations Cross Product: measuring the area determined by two vectors 16
2D Coordinates 2D Cartesian coordinate system: P: (x,y) 17
2D Coordinate Transformation 2D Cartesian coordinate system: P: (x,y) 18
2D Coordinate Transformation 2D Cartesian coordinate system: P: (x,y) 19
2D Coordinate Transformation Transform object description from to p 20
2D Coordinate Transformation Transform object description from to p 21 Given the coordinates (x’,y’) in i’j’ - how to compute the coordinates (x,y) in ij?
2D Coordinate Transformation Transform object description from to p 22 Given the coordinates (x’,y’) in i’j’ - how to compute the coordinates (x,y) in ij?
2D Coordinate Transformation Transform object description from to p 23 Given the coordinates (x’,y’) in i’j’ - how to compute the coordinates (x,y) in ij?
2D Coordinate Transformation Transform object description from to p 24
2D Coordinate Transformation Transform object description from to p 25
2D Coordinate Transformation Transform object description from to p 26
2D Coordinate Transformation Transform object description from to p 27
2D Coordinate Transformation Transform object description from to p 28
2D Coordinate Transformation Transform object description from to p 29
2D Coordinate Transformation Transform object description from to p 30
2D Coordinate Transformation Transform object description from to p 31
2D Coordinate Transformation Transform object description from to p 32
2D Coordinate Transformation Transform object description from to p 33
2D Coordinate Transformation Transform object description from to p 34
2D Coordinate Transformation Transform object description from to p 35
2D Coordinate Transformation p 36 What does this column vector mean?
2D Coordinate Transformation Transform object description from to p 37 What does this column vector mean? Vector i’ in the new reference system
2D Coordinate Transformation Transform object description from to p 38 What does this column vector mean?
2D Coordinate Transformation Transform object description from to p 39 What does this column vector mean? Vector j’ in the new reference system
2D Coordinate Transformation Transform object description from to p 40 What does this column vector mean?
2D Coordinate Transformation Transform object description from to p 41 What does this column vector mean? The old origin in the new reference system
2D Coordinate Transformation 2D translation p 42
2D Coordinate Transformation 2D translation p ? ? ? ? 43
2D Coordinate Transformation 2D translation p
2D Coordinate Transformation 2D translation&rotation p ? 45
2D Coordinate Transformation 2D translation&rotation p ? 46
2D Coordinate Transformation 2D translation&rotation p 47
2D Coordinate Transformation 2D translation&rotation p ? 48
2D Coordinate Transformation 2D translation&rotation p 49
2D Coordinate Transformation 2D translation&rotation p ? 50
2D Coordinate Transformation 2D translation&rotation p 51
2D Coordinate Transformation An alternative way to look at the problem p 52
2D Coordinate Transformation An alternative way to look at the problem p 53
2D Coordinate Transformation An alternative way to look at the problem p 54
2D Coordinate Transformation An alternative way to look at the problem This transforms the point from (x,y) to (x’,y’) p 55
2D Coordinate Transformation An alternative way to look at the problem This transforms the point from (x’,y’) to (x,y) p 56
2D Coordinate Transformation An alternative way to look at the problem This transform the point from (x’,y’) to (x,y) p 57
2D Coordinate Transformation An alternative way to look at the problem This transform the point from (x’,y’) to (x,y) p 58
2D Coordinate Transformation An alternative way to look at the problem This transform the point from (x’,y’) to (x,y) p 59
2D Coordinate Transformation An alternative way to look at the problem This transform the point from (x’,y’) to (x,y) p 60
2D Coordinate Transformation Same results! p 61
2D Coordinate Transformation 2D translation&rotation p 62
2D Coordinate Transformation 2D translation&rotation p 63
2D Coordinate Transformation 2D translation&rotation p 64
2D Coordinate Transformation 2D translation&rotation p 65
2D Coordinate Transformation 2D translation&rotation p 66
2D Coordinate Transformation 2D translation & rotation p 67
Composite 2D Transformation How to model 2D movement of characters or robots? 68 Click herehere
Composite 2D Transformation A 2D lamp character 69
Composite 2D Transformation A 2D lamp character 70
Composite 2D Transformation How can we draw the character given the pose ? 71
Articulated Character A default pose (0,0,0,0,0,0)
Composite 2D Transformation What’s the pose? 73
Composite 2D Transformation What’s the pose? 74
Composite 2D Transformation A 2D lamp character Given, and the local coordinates of point A, how to compute the global coordinates of point A? ? 75
Composite 2D Transformation What’s local coordinate ? ? 76
Composite 2D Transformation What’s local coordinate ? ? 77
Composite 2D Transformation What’s the current coordinate A ? ? 78
Composite 2D Transformation What’s the current coordinate A ? ? 79
Composite 2D Transformation What’s the current coordinate A ? ? 80
Composite 2D Transformation What’s the current coordinate A ? ? 81
Composite 2D Transformation What’s the current coordinate A ? 82
Composite 2D Transformation What’s the pose? 83 l 0 =1, l 1 =7, l 2 =6, l 3 =6
Composite 2D Transformation What’s the pose? 84 l 0 =1, l 1 =7, l 2 =6, l 3 =6 How about this point?
How to Animate the Character? A 2D lamp character 85
How to Animate the Character? Keyframe animation - Manually pose the character by choosing appropriate values for - Linearly interpolate the inbetween poses. - Works for any types of articulated characters! 86
How to Animate the Character? Keyframe animation Motion capture - motion interpolations, graph based, statistics-based, 87
How to Animate the Character? Keyframe animation Motion capture - motion interpolations, graph based, statistics-based, Physically based animation - needs to solve extremely complex equations - usually very slow - human motion might look robotic 88
3D Transformation A 3D point (x,y,z) – x,y, and z coordinates We will still use column vectors to represent points Homogeneous coordinates of a 3D point (x,y,z,1) Transformation will be performed using 4x4 matrix 89
Right-handed Coordinate System Left hand coordinate system Not used in this class and Not in OpenGL 90/94
3D Transformation Very similar to 2D transformation Translation transformation Homogenous coordinates 91
3D Transformation Very similar to 2D transformation Scaling transformation Homogenous coordinates 92
3D Transformation 3D rotation is done around a rotation axis Fundamental rotations – rotate about x, y, or z axes Counter-clockwise rotation is referred to as positive rotation (when you look down negative axis) x y z + 93
3D Transformation Rotation about z – similar to 2D rotation x y z + 94
3D Transformation Rotation about y: z -> y, y -> x, x->z x y z y z x 95
3D Transformation Rotation about x (z -> x, y -> z, x->y) x y z z x y 96
3D Rotation about Arbitrary Axes Rotate p about the by the angle 97
3-D Rotation General rotations in 3-D require rotating about an arbitrary axis of rotation Deriving the rotation matrix for such a rotation directly is a good exercise in linear algebra 98
3D Rotation about Arbitrary Axes Rotate p about the by the angle 99
3-D Rotation General rotations in 3-D require rotating about an arbitrary axis of rotation Deriving the rotation matrix for such a rotation directly is a good exercise in linear algebra Standard approach: express general rotation as composition of canonical rotations Rotations about x, y, z 100
Composing Canonical Rotations Goal: rotate about arbitrary vector r by θ Idea: we know how to rotate about x,y,z So, rotate about z by - until r lies in the xz plane Then rotate about y by -β until r coincides with +z Then rotate about z by θ Then reverse the rotation about y (by β ) Then reverse the rotation about z (by ) 101
3D Rotation about Arbitrary Axes Rotate p about the by the angle 102
3D Rotation about Arbitrary Axes Translate so that rotation axis passes through the origin 103
3D Rotation about Arbitrary Axes Rotation by about z-axis 104
3D Rotation about Arbitrary Axes Rotation by about y-axis 105
3D Rotation about Arbitrary Axes Rotation by about z-axis 106
3D Rotation about Arbitrary Axes Rotation by about y-axis 107
3D Rotation about Arbitrary Axes Rotation by about z-axis 108
3D Rotation about Arbitrary Axes Translate the object back to original point 109
3D Rotation about Arbitrary Axes Final transformation matrix for rotating about an arbitrary axis 110
3D Rotation about Arbitrary Axes Final transformation matrix for rotating about an arbitrary axis 111
3D Rotation about Arbitrary Axes Final transformation matrix for rotating about an arbitrary axis
3D Rotation about Arbitrary Axes Final transformation matrix for rotating about an arbitrary axis A 3 by 3 Rotation matrix
Rotation Matrices Orthonormal matrix: orthogonal (columns/rows linearly independent) normalized (columns/rows length of 1) 114
Rotation Matrices Orthonormal matrix: orthogonal (columns/rows linearly independent) normalized (columns/rows length of 1) The inverse of an orthogonal matrix is just its transpose: 115
Rotation Matrices Orthonormal matrix: orthogonal (columns/rows linearly independent) normalized (columns/rows length of 1) The inverse of an orthogonal matrix is just its transpose: 116
Rotation Matrices Orthonormal matrix: orthogonal (columns/rows linearly independent) normalized (columns/rows length of 1) The inverse of an orthogonal matrix is just its transpose: 117
Why? Rotation Matrices 118
Why? Rotation Matrices 119
Why? Rotation Matrices 120
Why? Rotation Matrices 121
Rotation Matrices Orthonormal matrix: orthogonal (columns/rows linearly independent) normalized (columns/rows length of 1) The inverse of an orthogonal matrix is just its transpose: e.g., 122
3D Coordinate Transformation Transform object description from to p 123
2D Coordinate Transformation Transform object description from to p 124
3D Coordinate Transformation Transform object description from to p 125
3D Coordinate Transformation Transform object description from to p 126
3D Coordinate Transformation Transform object description from to 127 p
3D Coordinate Transformation Transform object description from to 128 p
Composite 3D Transformation Similarly, we can easily extend composite transformation from 2D to 3D 129
Composite 3D Transformation 130