3d transformations - computer science department€¦ · computer graphics 3d transformations world...
TRANSCRIPT
![Page 1: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/1.jpg)
1
CS 430Computer Graphics
3D TransformationsWorld Window to Viewport Transformation
Week 2, Lecture 4
David Breen, William Regli and Maxim PeysakhovDepartment of Computer Science
Drexel University
![Page 2: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/2.jpg)
2
Outline
• World window to viewport transformation • 3D transformations• Coordinate system transformation
![Page 3: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/3.jpg)
3
The Window-to-ViewportTransformation
• Problem: Screen windows cannot display the whole world (window management)
• How to transform and clip:Objects to Windows to Screen
Pics/Math courtesy of Dave Mount @ UMD-CP
![Page 4: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/4.jpg)
4
Window-to-ViewportTransformation
• Given a window and a viewport, what is the transformation from WCS to VPCS?
Three steps:• Translate• Scale• Translate
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
![Page 5: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/5.jpg)
5
Transforming World Coordinates to Viewports
• 3 steps1. Translate2. Scale3. Translate
Overall Transformation:
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
€
P'= MwvP
![Page 6: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/6.jpg)
6
Clipping to the Viewport
• Viewport size may not be big enough for everything
• Display only the pixels inside the viewport
• Transform lines in world• Then clip in world•Transform to image• Then draw• Do not transform pixels
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
![Page 7: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/7.jpg)
9
3D Transformations
![Page 8: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/8.jpg)
10
Representation of 3D Transformations
• Z axis represents depth• Right Handed System
– When looking “down” at the origin, positive rotation is CCW
• Left Handed System– When looking “down”, positive
rotation is in CW– More natural interpretation for
displays, big z means “far” (into screen)
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
![Page 9: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/9.jpg)
11
3D Homogenous Coordinates
• Homogenous coordinates for 2D space requires 3D vectors & matrices
• Homogenous coordinates for 3D space requires 4D vectors & matrices
• [x,y,z,w]
![Page 10: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/10.jpg)
12
3D Transformations:Scale & Translate
• Scale– Parameters for each
axis direction
• Translation
![Page 11: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/11.jpg)
13
3D Transformations: Rotation
• One rotation for each world coordinate axis
![Page 12: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/12.jpg)
14
Rotation Around an Arbitrary Axis
• Rotate a point P around axis n (x,y,z) by angle q
• c = cos(q)• s = sin(q)• t = (1 - c)
Graphics Gems I, p. 466 & 498
This image cannot currently be displayed.
€
R =
tx 2 + c txy + sz txz − sy 0txy − sz ty 2 + c tyz + sx 0txz + sy tyz − sx tz2 + c 00 0 0 1
#
$
% % % %
&
'
( ( ( (
![Page 13: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/13.jpg)
• Also can be expressed as the Rodrigues Formula
15€
Prot = P cos(ϑ ) + (n× P)sin(ϑ ) + n(n ⋅ P)(1− cos(ϑ ))
Rotation Around an Arbitrary Axis
![Page 14: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/14.jpg)
Improved Rotations
• Euler Angles have problems– How to interpolate keyframes?– Angles aren’t independent– Interpolation can create Gimble Lock, i.e.
loss of a degree of freedom when axes align
• Solution: Quaternions!
16
![Page 15: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/15.jpg)
17
![Page 16: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/16.jpg)
18
![Page 17: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/17.jpg)
19
€
p = (0, x )
![Page 18: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/18.jpg)
20
![Page 19: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/19.jpg)
21
![Page 20: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/20.jpg)
22
slerp – Spherical linear interpolationNeed to take equals steps on the sphere
A & B are quaternions
![Page 21: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/21.jpg)
What about interpolating multiple keyframes?
• Shoemake suggests using Bezier curves on the sphere
• Offers a variation of the De Casteljau algorithm using slerp and quaternion control points
• See K. Shoemake, “Animating rotation with quaternion curves”, Proc. SIGGRAPH ’85
23
![Page 22: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/22.jpg)
24
3D Transformations:Reflect & Shear
• Reflection:
about x-y plane
• Shear:(function of z)
![Page 23: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/23.jpg)
25
3D Transformations:Shear
€
X 'Y 'Z '1
"
#
$ $ $ $
%
&
' ' ' '
=
1 Shxy Shx
z 0Shy
x 1 Shyz 0
Shzx Shz
y 1 00 0 0 1
"
#
$ $ $ $
%
&
' ' ' '
∗
XYZ1
"
#
$ $ $ $
%
&
' ' ' '
X ' = X + ShxyY + Shx
zZ
Y ' = ShyxX +Y + Shy
zZ
Z ' = ShzxX + Shz
yY + Z
![Page 24: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/24.jpg)
26
Example
Pics/Math courtesy of Dave Mount @ UMD-CP
![Page 25: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/25.jpg)
27
Example: Composition of 3D Transformations
• Goal: Transform P1P2 and P1P3
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
![Page 26: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/26.jpg)
28
Example (Cont.)
• Process1. Translate P1 to (0,0,0)2. Rotate about y 3. Rotate about x4. Rotate about z
(1)
(2-3)
(4)
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
![Page 27: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/27.jpg)
29
Final Result• What we’ve really
done is transform the local coordinate system Rx, Ry, Rzto align with the origin x,y,z
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
![Page 28: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/28.jpg)
30
Example 2: Composition of 3D Transformations
• Airplane defined in x,y,z• Problem: want to point
it in Dir of Flight (DOF)centered at point P
• Note: DOF is a vector• Process:
– Rotate plane– Move to P
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
![Page 29: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/29.jpg)
31
Example 2 (cont.)
• Zp axis to be DOF• Xp axis to be a horizontal
vector perpendicular to DOF– y x DOF
• Yp, vector perpendicular to both Zp and Xp (i.e.Zp x Xp)
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
![Page 30: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/30.jpg)
32
Transformations to Change Coordinate Systems
• Issue: the world has many different relative frames of reference
• How do we transform among them?• Example: CAD Assemblies & Animation Models
![Page 31: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/31.jpg)
33
Transformations to Change Coordinate Systems
• 4 coordinate systems1 point P
)45()8.1,7.6(
)5.0,5.0()3,2()2,4(
43
32
21
RTMSTM
TM
•=
•=
=
←
←
←
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
![Page 32: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/32.jpg)
34
Coordinate System Example (1)
• Translate the House to the origin
€
M1←2 = T(x1,y1)
M2←1 = M1←2( )−1
= T(−x1,−y1)
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
The matrix Mij that maps points from coordinate system j to i is the inverse of the matrix Mji that maps points from coordinate system j to coordinate system i.
P1
![Page 33: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/33.jpg)
35
Coordinate System Example (2)• Transformation
Composition:
€
M5←1 = M5←4 •M4←3 •M3←2 •M2←1
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG
![Page 34: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/34.jpg)
36
World Coordinates and Local Coordinates
• To move the tricycle, we need to know how all of its parts relate to the WCS
• Example: front wheel rotates on the ground wrt the front wheel’s z axis:Coordinates of P in wheel coordinate system:
1994 Foley/VanDam /Fi ner/Huges/Phillips ICG€
P(wo) = T(αr,0,0) ⋅ Rz(α) ⋅ P(wh )
€
P'(wh )= Rz (α) ⋅ P(wh )
![Page 35: 3D Transformations - Computer Science Department€¦ · Computer Graphics 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli](https://reader030.vdocuments.site/reader030/viewer/2022041105/5f06efca7e708231d41a7a22/html5/thumbnails/35.jpg)
37
Questions about Homework 1?
• Go to web site