1 Dr. Scott Schaefer 3D Transformations
2/149 Review – Vector Operations Dot Product
3/149 Review – Vector Operations Dot Product
4/149 Review – Vector Operations Dot Product
5/149 Review – Vector Operations Cross Product
6/149 Review – Vector Operations Cross Product
7/149 Review – Vector Operations Cross Product
8/149 Review – Vector Operations Cross Product
9/149 Review – Vector Operations Cross Product
10/149 Review – Vector Operations Cross Product
11/149 Review – Vector Operations Cross Product
12/149 Review – Vector Operations Cross Product
13/149 Review – Vector Operations Cross Product
14/149 Transformations Affine Transformations Translation Uniform Scaling Non-uniform Scaling Rotation Mirror Image Projections Orthogonal Perspective
15/149 Translation
16/149 Uniform Scaling
17/149 Uniform Scaling
18/149 Uniform Scaling
19/149 Non-Uniform Scaling
20/149 Non-Uniform Scaling
21/149 Non-Uniform Scaling
22/149 Non-Uniform Scaling
23/149 Non-Uniform Scaling
24/149 Non-Uniform Scaling
25/149 Rotation
26/149 Rotation
27/149 Rotation
28/149 Rotation
29/149 Rotation
30/149 Rotation
31/149 Rotation
32/149 Rotation
33/149 Rotation
34/149 Mirror Image
35/149 Mirror Image
36/149 Mirror Image
37/149 Mirror Image
38/149 Mirror Image
39/149 Mirror Image Exactly the same as non-uniform scaling with !!!
40/149 Orthogonal Projection
41/149 Orthogonal Projection
42/149 Orthogonal Projection
43/149 Orthogonal Projection
44/149 Orthogonal Projection
45/149 Orthogonal Projection
46/149 Perspective Projection
47/149 Perspective Projection Plane:
48/149 Perspective Projection Plane: Line:
49/149 Perspective Projection Plane: Line:
50/149 Perspective Projection Plane: Line:
51/149 Perspective Projection Plane: Line:
52/149 Perspective Projection
53/149 Perspective Projection
54/149 Perspective Projection
55/149 Perspective Projection
56/149 Perspective Projection Perspective Projection is not defined for vectors!!!
57/149 Transformations as Matrices Exactly like 2D 4x4 matrices Requires coordinates….
58/149 Review – Vector Operations Dot Product
59/149 Review – Vector Operations Dot Product
60/149 Review – Vector Operations Cross Product
61/149 Review – Vector Operations Cross Product
62/149 Review – Vector Operations Cross Product
63/149 Review – Vector Operations
64/149 Review – Vector Operations
65/149 Review – Vector Operations
66/149 Translation
67/149 Translation
68/149 Uniform Scaling
69/149 Uniform Scaling
70/149 Uniform Scaling
71/149 Uniform Scaling
72/149 Uniform Scaling o = (0,0,0) T
73/149 Non-Uniform Scaling
74/149 Non-Uniform Scaling
75/149 Non-Uniform Scaling
76/149 Non-Uniform Scaling
77/149 Non-Uniform Scaling
78/149 Non-Uniform Scaling v = (1,0,0) T, o = (0,0,0) T
79/149 Rotation
80/149 Rotation
81/149 Rotation
82/149 Rotation
83/149 Rotation
84/149 Rotation
85/149 Rotation
86/149 Rotation
87/149 Rotation
88/149 Rotation Rotation about x
89/149 Rotation Rotation about y
90/149 Rotation Rotation about z
91/149 Mirror Image
92/149 Mirror Image
93/149 Mirror Image
94/149 Mirror Image
95/149 Mirror Image
96/149 Mirror Image
97/149 v = (0,0,1) T, o = (0,0,0) T Mirror Image
98/149 Orthogonal Projection
99/149 Orthogonal Projection
100/149 Orthogonal Projection
101/149 Orthogonal Projection
102/149 Orthogonal Projection
103/149 Orthogonal Projection
104/149 Orthogonal Projection v = (0,0,1) T, o = (0,0,0) T
105/149 Perspective Projection
106/149 Perspective Projection
107/149 Perspective Projection
108/149 Perspective Projection Perspective transformations are not Affine!!! Rational expression requires a slight modification (homogeneous coordinates)
109/149 Perspective Projection Perspective transformations are not Affine!!! Rational expression requires a slight modification (homogeneous coordinates)
110/149 Perspective Projection Perspective transformations are not Affine!!! Rational expression requires a slight modification (homogeneous coordinates)
111/149 Perspective Projection Perspective transformations are not Affine!!! Rational expression requires a slight modification (homogeneous coordinates) 3D location is
112/149 Perspective Projection
113/149 Perspective Projection
114/149 Perspective Projection e = (0,0,1) T, o = (0,0,0) T, v = (0,0,1) T
115/149 Hierarchical Animation Tree of transformation matrices Each node stores a local transformation with respect to its parent
116/149 Hierarchical Animation Tree of transformation matrices Each node stores a local transformation with respect to its parent
117/149 Hierarchical Animation Tree of transformation matrices Each node stores a local transformation with respect to its parent
118/149 Hierarchical Animation Tree of transformation matrices Each node stores a local transformation with respect to its parent
119/149 Skeletal Animation
120/149 Skeletal Animation
121/149 Skeletal Animation : Bone Transformation
122/149 Skeletal Animation : Skin Weights : Bone Transformation
123/149 Skeletal Animation : Skin Weights : Bone Transformation Image taken from [Wang et al. 2002]
124/149 Skeletal Animation Examples
125/149 Skeletal Animation Examples
126/149 Skeletal Animation Examples
127/149 Transformations in OpenGL Types of transformation matrices View Model Projection Viewport
128/149 Types of transformation matrices View Model Projection Viewport Transformations in OpenGL
129/149 Transformations in OpenGL Types of transformation matrices View Model Projection Viewport
130/149 Transformations in OpenGL Types of transformation matrices View Model Projection Viewport
131/149 Transformations in OpenGL Types of transformation matrices View Model Projection Viewport
132/149 OpenGL: Matrix Commands glTranslatef(x, y, z) glScalef(x, y, z) glRotatef(theta, vx, vy, vz) glLoadIdentity(void) glPushMatrix(void)/glPopMatrix(void)
133/149 OpenGL: Matrix Example glTranslatef(0, 1, 3)
134/149 OpenGL: Matrix Example glTranslatef(0, 1, 3) glRotatef(45, 0, 1, 0)
135/149 OpenGL: Matrix Example glTranslatef(0, 1, 3) glRotatef(45, 0, 1, 0) glScalef(1, 1, 2)
136/149 OpenGL: Matrix Example glTranslatef(0, 1, 3) glRotatef(45, 0, 1, 0) glScalef(1, 1, 2) OpenGL multiplies matrices in the opposite order of what you might expect
137/149 Coordinate Systems in OpenGL
138/149 Coordinate Systems in OpenGL
139/149 Coordinate Systems in OpenGL
140/149 Coordinate Systems in OpenGL
141/149 Coordinate Systems in OpenGL
142/149 Coordinate Systems in OpenGL
143/149 Coordinate Systems in OpenGL
144/149 Coordinate Systems in OpenGL
145/149 Coordinate Systems in OpenGL
146/149 Coordinate Systems in OpenGL 1.PushMatrix 2.Specify viewer using inverse of view transformation 3. PushMatrix 4. Position object with transformations in opposite order of what you would expect 5. PopMatrix 6. PopMatrix
147/149 Coordinate Systems in OpenGL 1.PushMatrix 2.Specify viewer using inverse of view transformation 3. PushMatrix 4. Position object with transformations in opposite order of what you would expect 5. PopMatrix 6. PopMatrix
148/149 Coordinate Systems in OpenGL 1.PushMatrix 2.Specify viewer using inverse of view transformation 3. PushMatrix 4. Position object with transformations in opposite order of what you would expect 5. PopMatrix 6. PopMatrix
149/149 OpenGL: Special Matrix Commands glMatrixMode(GL_MODELVIEW / GL_PROJECTION) gluLookAt(ex, ey, ez, cx, cy, cz, ux, uy, uz) gluPerspective(fov, aspect, near, far) glOrtho(left, right, bottom, top, near, far) glViewport(x, y, w, h)
150/149
151/149 Hierarchical Animation Typically represented as relative joint locations and rotations
152/149 Hierarchical Animation Typically represented as relative joint locations and rotations
153/149 Hierarchical Animation Typically represented as relative joint locations and rotations
154/149 Hierarchical Animation Typically represented as relative joint locations and rotations
155/149 Hierarchical Animation Typically represented as relative joint locations and rotations
156/149 Hierarchical Animation Typically represented as relative joint locations and rotations