CSCE 641 Computer Graphics: Image Registration Jinxiang Chai.
Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.
-
Upload
meghan-ella-simmons -
Category
Documents
-
view
231 -
download
2
Transcript of Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.
![Page 1: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/1.jpg)
Jinxiang Chai
CSCE441: Computer Graphics3D Transformations
1
![Page 2: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/2.jpg)
Outline
2D Coordinate transformation
Composite transformation
3D transformation
Required readings: HB 7-8, 9-1 to 9-9
2
![Page 3: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/3.jpg)
Image space
Coordinate Transform: 3D Geometry Pipeline
3
Normalized project
space
View spaceWorld spaceObject space
Aspect ratio &
resolution
Focal length
Rotate and translate the
camera
![Page 4: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/4.jpg)
Coordinate Transformation: 3D Modeling/Design
Coordinate transformation from one reference frame to another
4
![Page 5: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/5.jpg)
Coordinate Transformation: Animation/Robotics
How to model 2D movement of animated characters or robots?
5
Click here
![Page 6: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/6.jpg)
Coordinate Transformation
Coordinate transformation from one reference frame to another
6
![Page 7: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/7.jpg)
Coordinate Transformation
Coordinate transformation from one reference frame to another
7
Local reference frame
![Page 8: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/8.jpg)
Coordinate Transformation
Coordinate transformation from one reference frame to another
8
Local reference frame
Global reference frame
![Page 9: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/9.jpg)
Coordinate Transformation
Coordinate transformation from one reference frame to another
?
9
Local reference frame
Global reference frame
![Page 10: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/10.jpg)
Review – Vector Operations
Dot Product
v w
10
![Page 11: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/11.jpg)
Review – Vector Operations
Dot Product: measuring similarity between two vectors
v w
)cos(|||| wvwv
11
![Page 12: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/12.jpg)
Review – Vector Operations
Dot Product: measuring similarity between two vectors
v w
)cos(|||| wvvw
12
![Page 13: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/13.jpg)
Review – Vector Operations
Dot Product: measuring similarity between two vectors
v w
1vvUnit vector:
13
![Page 14: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/14.jpg)
Review – Vector Operations
Dot Product: measuring similarity between two vectors
v w
)cos(|||| wvwv
14
![Page 15: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/15.jpg)
Review – Vector Operations
Dot Product: measuring similarity between two vectors
v w
0wv
15
![Page 16: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/16.jpg)
Review – Vector Operations
Cross Product: measuring the area determined by two vectors
16
v w
![Page 17: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/17.jpg)
Review – Vector Operations
Cross Product: measuring the area determined by two vectors
sin 2*v w v w u area u
17
v w
u
![Page 18: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/18.jpg)
2D Coordinates
2D Cartesian coordinate system:
P: (x,y)
i
j
o
18
![Page 19: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/19.jpg)
2D Coordinate Transformation
2D Cartesian coordinate system:
P: (x,y)
i
j
o x
y1 ii
1 jj
0 ji
19
![Page 20: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/20.jpg)
2D Coordinate Transformation
2D Cartesian coordinate system:
P: (x,y)
i
j
o x
y
1 ii
1 jj
0 ji
20
jyixop
![Page 21: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/21.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
21
![Page 22: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/22.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
22
Given the coordinates (x’,y’) in i’j’
- how to compute the coordinates (x,y) in ij?
![Page 23: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/23.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
23
Given the coordinates (x’,y’) in i’j’
- how to compute the coordinates (x,y) in ij?
0x
0y
![Page 24: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/24.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
),( 00 yx
24
Given the coordinates (x’,y’) in i’j’
- how to compute the coordinates (x,y) in ij?
1100
cossin
sincos
10
0
y
x
y
x
y
x
![Page 25: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/25.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
jyixop
ji ij
),( 00 yx
25
![Page 26: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/26.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
jyixop
jyixpo
ji ij
),( 00 yx
26
![Page 27: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/27.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
jyixop
jyixpo
jyixoo
00
ji ij
),( 00 yx
27
![Page 28: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/28.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
poooop
ji ij
),( 00 yx
28
![Page 29: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/29.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
poooop
jyixop
jyixpo
jyixoo
00
ji ij
),( 00 yx
29
![Page 30: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/30.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
poooop
ji ij
jyixjyixjyix
00
),( 00 yx
30
![Page 31: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/31.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
poooop
ji ij
jyixjyixjyix
00
jyixjyyixx
)()( 00
),( 00 yx
31
![Page 32: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/32.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
poooop
ji ij
jyixjyixjyix
00
jyixjyyixx
)()( 00
y
xji
yy
xxji
0
0),( 00 yx
32
![Page 33: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/33.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
y
xji
yy
xxji
0
0
),( 00 yx
33
![Page 34: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/34.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
y
xji
yy
xxji
0
0
y
xjiji
yy
xx 1
0
0
),( 00 yx
34
![Page 35: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/35.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
y
xji
yy
xxji
0
0
y
xjiji
yy
xx 1
0
0
y
xji
j
i
yy
xxT
T
0
0
),( 00 yx
35
10
01
jjij
jiii
j
iji
T
T
![Page 36: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/36.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
y
xji
j
i
yy
xxT
T
0
0
110010
0
y
x
yjjij
xjiii
y
xTT
TT
),( 00 yx
36
![Page 37: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/37.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
y
xji
j
i
yy
xxT
T
0
0
),( 00 yx
37
110010
0
y
x
yjjij
xjiii
y
xTT
TT
![Page 38: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/38.jpg)
2D Coordinate Transformation
pj
i
i
j
o
o
ji ij
y
xji
j
i
yy
xxT
T
0
0
110010
0
y
x
yjjij
xjiii
y
xTT
TT
),( 00 yx
38
What does this column vector mean?
![Page 39: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/39.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
y
xji
j
i
yy
xxT
T
0
0
110010
0
y
x
yjjij
xjiii
y
xTT
TT
),( 00 yx
39
What does this column vector mean? Vector i’ in the new reference system
ii T
ij T
![Page 40: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/40.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
y
xji
j
i
yy
xxT
T
0
0
110010
0
y
x
yjjij
xjiii
y
xTT
TT
),( 00 yx
40
What does this column vector mean?
![Page 41: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/41.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
y
xji
j
i
yy
xxT
T
0
0
110010
0
y
x
yjjij
xjiii
y
xTT
TT
),( 00 yx
41
What does this column vector mean? Vector j’ in the new reference system
ji T
jj T
![Page 42: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/42.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
y
xji
j
i
yy
xxT
T
0
0
110010
0
y
x
yjjij
xjiii
y
xTT
TT
),( 00 yx
42
What does this column vector mean?
![Page 43: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/43.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
y
xji
j
i
yy
xxT
T
0
0
110010
0
y
x
yjjij
xjiii
y
xTT
TT
),( 00 yx
43
What does this column vector mean? The old origin in the new reference system
![Page 44: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/44.jpg)
2D Coordinate Transformation
2D translation
pj
i
i
j
o
o
110010
0
y
x
yjjij
xjiii
y
xTT
TT
),( 00 yx
44
![Page 45: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/45.jpg)
2D Coordinate Transformation
2D translation
pj
i
i
j
o
o
110010
0
y
x
yjjij
xjiii
y
xTT
TT
),( 00 yx
?
? ?
?
45
![Page 46: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/46.jpg)
2D Coordinate Transformation
2D translation
pj
i
i
j
o
o
110010
0
y
x
yjjij
xjiii
y
xTT
TT
1
0
0
1
),( 00 yx
46
![Page 47: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/47.jpg)
2D Coordinate Transformation
2D translation&rotation
pj
i
i
j
o
o
110010
0
y
x
yjjij
xjiii
y
xTT
TT
),( 00 yx
?
47
![Page 48: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/48.jpg)
2D Coordinate Transformation
2D translation&rotation
pj
i
i
j
o
o
1100
cos
10
0
y
x
yjjij
xji
y
xTT
T
),( 00 yx
?
48
![Page 49: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/49.jpg)
2D Coordinate Transformation
2D translation&rotation
pj
i
i
j
o
o
1100
sin
cos
10
0
y
x
yjj
xji
y
xT
T
),( 00 yx
49
![Page 50: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/50.jpg)
2D Coordinate Transformation
2D translation&rotation
pj
i
i
j
o
o
1100
sin
cos
10
0
y
x
yjj
xji
y
xT
T
),( 00 yx
?
50
![Page 51: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/51.jpg)
2D Coordinate Transformation
2D translation&rotation
pj
i
i
j
o
o
1100
sin
sincos
10
0
y
x
yjj
x
y
xT
),( 00 yx
51
![Page 52: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/52.jpg)
2D Coordinate Transformation
2D translation&rotation
pj
i
i
j
o
o
1100
sin
sincos
10
0
y
x
yjj
x
y
xT
),( 00 yx
?
52
![Page 53: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/53.jpg)
2D Coordinate Transformation
2D translation&rotation
pj
i
i
j
o
o
1100
cossin
sincos
10
0
y
x
y
x
y
x
),( 00 yx
53
![Page 54: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/54.jpg)
2D Coordinate Transformation
An alternative way to look at the problem
i
j
o
P=[x,y]j
i
o ),( 00 yx
54
- set up a transformation that superimposes the x’y’ axes onto the xy axis
1
y
x
![Page 55: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/55.jpg)
2D Coordinate Transformation
An alternative way to look at the problem
i
j
o
P=[x,y]j
i
o ),( 00 yx
55
- set up a transformation that superimposes the x’y’ axes onto the xy axis
1100
10
01
0
0
y
x
y
x
![Page 56: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/56.jpg)
2D Coordinate Transformation
An alternative way to look at the problem
i
j
o
P=[x,y]
j
io ),( 00 yx
56
- set up a transformation that superimposes the x’y’ axes onto the xy axis
1100
10
01
100
0cossin
0sincos
0
0
y
x
y
x
![Page 57: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/57.jpg)
2D Coordinate Transformation
An alternative way to look at the problem This transforms the point from (x,y) to (x’,y’)
i
j
o
p
j
io ),( 00 yx
57
1100
10
01
100
0cossin
0sincos
10
0
y
x
y
x
y
x
![Page 58: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/58.jpg)
2D Coordinate Transformation
An alternative way to look at the problem This transforms the point from (x,y) to (x’,y’) How to transform the point from (x’,y’) to
(x,y)?
i
j
o
p
j
io ),( 00 yx
58
1100
10
01
100
0cossin
0sincos
10
0
y
x
y
x
y
x
![Page 59: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/59.jpg)
2D Coordinate Transformation
An alternative way to look at the problem This transforms the point from (x,y) to (x’,y’) How to transform the point from (x’,y’) to
(x,y)? Invert the matrix!
i
j
o
p
j
io ),( 00 yx
59
1100
0cossin
0sincos
100
10
01
1
11
0
0
y
x
y
x
y
x
![Page 60: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/60.jpg)
2D Coordinate Transformation
An alternative way to look at the problem This transforms the point from (x,y) to (x’,y’) How to transform the point from (x’,y’) to
(x,y)? Invert the matrix!
i
j
o
p
j
io ),( 00 yx
60
1100
0cossin
0sincos
100
10
01
1
11
0
0
y
x
y
x
y
x
![Page 61: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/61.jpg)
2D Coordinate Transformation
An alternative way to look at the problem This transforms the point from (x,y) to (x’,y’) How to transform the point from (x’,y’) to
(x,y)? Invert the matrix!
i
j
o
p
j
io ),( 00 yx
61
1100
0cossin
0sincos
100
10
01
1
11
0
0
y
x
y
x
y
x
100
10
01
0
0
y
x
![Page 62: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/62.jpg)
2D Coordinate Transformation
An alternative way to look at the problem This transforms the point from (x,y) to (x’,y’) How to transform the point from (x’,y’) to
(x,y)? Invert the matrix!
i
j
o
p
j
io ),( 00 yx
62
1100
0cossin
0sincos
100
10
01
1
11
0
0
y
x
y
x
y
x
100
10
01
0
0
y
x
![Page 63: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/63.jpg)
2D Coordinate Transformation
An alternative way to look at the problem This transforms the point from (x,y) to (x’,y’) How to transform the point from (x’,y’) to
(x,y)? Invert the matrix!
i
j
o
p
j
io ),( 00 yx
63
1100
0cossin
0sincos
100
10
01
1
11
0
0
y
x
y
x
y
x
100
10
01
0
0
y
x
100
0cossin
0sincos
![Page 64: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/64.jpg)
2D Coordinate Transformation
Same results!
pj
i
i
j
o
o
1100
cossin
sincos
10
0
y
x
y
x
y
x
),( 00 yx
64
![Page 65: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/65.jpg)
2D Coordinate Transformation
2D translation&rotation
pj
i
i
j
o o
1???
???
???
1
y
x
y
x
30
65
![Page 66: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/66.jpg)
2D Coordinate Transformation
2D translation&rotation
pj
i
i
j
o o
1100
030cos30sin
030sin30cos
1
y
x
y
x
30
66
![Page 67: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/67.jpg)
2D Coordinate Transformation
2D translation&rotation
p
j
i
i
j
oo
1???
???
???
1
y
x
y
x
45
67
![Page 68: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/68.jpg)
2D Coordinate Transformation
2D translation&rotation
p
j
i
i
j
oo
1100
045cos45sin
045sin45cos
1
y
x
y
x
45
68
![Page 69: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/69.jpg)
2D Coordinate Transformation
2D translation&rotation
p
j
i
i
j
o
)2,4( o
1???
???
???
1
y
x
y
x
45
69
![Page 70: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/70.jpg)
2D Coordinate Transformation
2D translation&rotation
p
j
i
i
j
o
)2,4( o
1100
245cos45sin
445sin45cos
1
y
x
y
x
45
70
![Page 71: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/71.jpg)
Composite 2D Transformation
How to model 2D movement of characters or robots?
71
Click here
![Page 72: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/72.jpg)
Composite 2D Transformation
A 2D lamp character
1
2
3
),,( 0yx
3c
2c
1c
0c
A
72
0
![Page 73: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/73.jpg)
Composite 2D Transformation
A 2D lamp character – skeleton size3l
A2l
1l
0l
73
![Page 74: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/74.jpg)
Composite 2D Transformation
How can we draw the character given the pose ?
1
2
3
),,( 0yx
3c
2c
1c
0c
A
74
),,,,,( 3210 yx
![Page 75: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/75.jpg)
),,( 0yx
3c2c
0c
A1c
Articulated Character
Local reference frames with a default pose (0,0,0,0,0,0)
![Page 76: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/76.jpg)
Composite 2D Transformation
What’s the pose?
)1,5(
76
?)?,?,?,,1,5(
300
![Page 77: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/77.jpg)
Composite 2D Transformation
What’s the pose?
)1,5(
77
)90,0,90,30,1,5(
300
![Page 78: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/78.jpg)
Composite 2D Transformation
A 2D lamp character
1
2
3
3c
2c
1c
A
Given , , how to compute the global position of a point A?
),,,,,( 3210 yx
?
),,( 0yx0c
78
![Page 79: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/79.jpg)
Composite 2D Transformation
What’s local coordinate ?
1
2
3
3c
2c
1c
A
?
A
),,( 0yx0c
79
![Page 80: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/80.jpg)
Composite 2D Transformation
What’s local coordinate ?
1
2
3
3c
2c
1c
A
?
A
1
03
0
l
p
),,( 0yx0c
03221100 )()0,()()0,()()0,()(),( pRlTRlTRlTRyxTp 80
![Page 81: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/81.jpg)
Composite 2D Transformation
What’s the current coordinate A ?
1
2
3
3c
2c
1c
A
?
),,( 0yx0c
1
00
l
p
03221100 )()0,()()0,()()0,()(),( pRlTRlTRlTRyxTp
100
010
01
)0,(2
2
l
lT
81
100
0cossin
0sincos
)( 33
33
3
R
![Page 82: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/82.jpg)
Composite 2D Transformation
What’s the current coordinate A ?
1
2
3
3c
2c
1c
A
?
),,( 0yx0c
1
00
l
p
03221100 )()0,()()0,()()0,()(),( pRlTRlTRlTRyxTp
100
010
01
)0,(1
1
l
lT
82
100
0cossin
0sincos
)( 22
22
2
R
![Page 83: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/83.jpg)
Composite 2D Transformation
What’s the current coordinate A ?
1
2
3
3c
2c
1c
A
?
),,( 0yx0c
1
00
l
p
03221100 )()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp
100
10
001
),0( 00 llT
83
100
0cossin
0sincos
)( 11
11
1
R
![Page 84: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/84.jpg)
Composite 2D Transformation
What’s the current coordinate A ?
1
2
3
3c
2c
1c
A
?
03221100 )()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp
),,( 0yx0c
1
00
l
p
100
cossin
sincos
)(),( 00
00
0 y
x
RyxT
84
![Page 85: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/85.jpg)
Composite 2D Transformation
What’s the current coordinate A ?
1
2
3
3c
2c
1c
A
03221100 )()0,()()0,()(),0()(),( pRlTRlTRlTRyxTp
),,( 0yx0c
85
![Page 86: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/86.jpg)
How to Animate the Character?
A 2D lamp character
1
2
3
),,( 0yx
3c
2c
1c
0c
A
86
![Page 87: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/87.jpg)
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!
87
),,,,,( 3210 yx
![Page 88: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/88.jpg)
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
x
y
z
88
![Page 89: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/89.jpg)
Right-handed Coordinate System
x
y
z
;zyx ;xzy yxz
Left hand coordinate system
Not used in this class and
Not in OpenGL 89/94
![Page 90: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/90.jpg)
3D Transformation
Very similar to 2D transformation
Translation transformation
11000
100
010
001
1
z
y
x
t
t
t
z
y
x
x
y
x
Homogenous coordinates
90
![Page 91: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/91.jpg)
3D Transformation
Very similar to 2D transformation
Scaling transformation
11000
000
000
000
1
z
y
x
s
s
s
z
y
x
z
y
x
Homogenous coordinates
91
![Page 92: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/92.jpg)
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
+
92
![Page 93: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/93.jpg)
3D Transformation
Rotation about z – similar to 2D rotation
x
y
z
+
11000
0100
00cossin
00sincos
1
z
y
x
z
y
x
zz
yxy
yxx
'
cossin'
sincos'
93
![Page 94: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/94.jpg)
3D Transformation
Rotation about y: z -> y, y -> x, x->z
11000
0cos0sin
0010
0sin0cos
1
z
y
x
z
y
x
yy
xzx
xzz
'
cossin'
sincos'
y
z
x
x
y
z
94
![Page 95: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/95.jpg)
3D Transformation
Rotation about x (z -> x, y -> z, x->y)
x
y
z
11000
0cossin0
0sincos0
0001
1
z
y
x
z
y
x
xx
zyz
zyy
'
cossin'
sincos'
z
x
y
95
![Page 96: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/96.jpg)
Inverse of 3D Transformations
Invert the transformation In general, X= AX’->x’=A-1X
11000
100
010
001
1
z
y
x
t
t
t
z
y
x
x
y
x
1
'
'
'
1000
100
010
001
1
z
y
x
t
t
t
z
y
x
x
y
x
11000
0100
00cossin
00sincos
1
z
y
x
z
y
x
1
'
'
'
1000
0100
00cossin
00sincos
1
z
y
x
z
y
x
)(zR)( zR
T(tx,ty,tz)T(-tx,-ty,-tz)
![Page 97: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/97.jpg)
3D Rotation about Arbitrary Axes
Rotate p about the by the angle
x
y
zr
),,( zyxp
r
97
![Page 98: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/98.jpg)
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
The general rotation matrix is a combination of coordinate-axis rotations and translations!
98
![Page 99: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/99.jpg)
3D Rotation about Arbitrary Axes
Rotate p about the by the angle
x
y
zr
),,( zyxp
r
99
![Page 100: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/100.jpg)
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
![Page 101: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/101.jpg)
Composing Canonical Rotations Goal: rotate about arbitrary vector r by θ
Idea: we know how to rotate about x,y,zSet up a transformation that superimposes
rotation axis onto one coordinate axisRotate about the coordinate axisTranslate and rotate object back via inverse of
the transformation matrix
101
![Page 102: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/102.jpg)
Composing Canonical Rotations Goal: rotate about arbitrary vector r by θ
Idea: we know how to rotate about x,y,zSo, rotate about z by - until r lies in the xz
planeThen rotate about y by -β until r coincides
with +zThen rotate about z by θThen reverse the rotation about y (by β )Then reverse the rotation about z (by )
102
![Page 103: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/103.jpg)
3D Rotation about Arbitrary Axes
Rotate p about the by the angle
x
y
zr
),,( zyxp
r
103
![Page 104: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/104.jpg)
3D Rotation about Arbitrary Axes
Translate so that rotation axis passes through the origin
x
y
zr
TRRRRRT zyzyz )()()()()(1
104
![Page 105: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/105.jpg)
3D Rotation about Arbitrary Axes
Rotation by about z-axis
x
y
z
r
TRRRRRT zyzyy )()()()()(1
105
![Page 106: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/106.jpg)
3D Rotation about Arbitrary Axes
Rotation by about y-axis
x
y
z
r
xTRRRRRT zyzyy )()()()()(1
106
![Page 107: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/107.jpg)
3D Rotation about Arbitrary Axes
Rotation by about z-axis
x
y
z
r
xTRRRRRT zyzyy )()()()()(1
107
![Page 108: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/108.jpg)
3D Rotation about Arbitrary Axes
Rotation by about y-axis
x
y
z
r
xTRRRRRT zyzyy )()()()()(1
108
![Page 109: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/109.jpg)
3D Rotation about Arbitrary Axes
Rotation by about z-axis
x
y
z
r
TRRRRRT zyzyz )()()()()(1
109
![Page 110: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/110.jpg)
3D Rotation about Arbitrary Axes
Translate the object back to original point
x
y
z
r
TRRRRRT zyzyz )()()()()(1
110
![Page 111: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/111.jpg)
3D Rotation about Arbitrary Axes
Final transformation matrix for rotating about an arbitrary axis
x
y
z
r
TRRRRRT zyzyz )()()()()(1
111
![Page 112: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/112.jpg)
3D Rotation about Arbitrary Axes
Final transformation matrix for rotating about an arbitrary axis
x
y
z
r
TRRRRRT zyzyz )()()()()(1
112
![Page 113: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/113.jpg)
3D Rotation about Arbitrary Axes
Final transformation matrix for rotating about an arbitrary axis
TRRRRRT zyzyz )()()()()(1
1000
0
0
0
333231
232221
131211
rrr
rrr
rrr
![Page 114: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/114.jpg)
3D Rotation about Arbitrary Axes
Final transformation matrix for rotating about an arbitrary axis
TRRRRRT zyzyz )()()()()(1
A 3 by 3 Rotation matrix—orthogonal matrix
1000
0
0
0
333231
232221
131211
rrr
rrr
rrr
![Page 115: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/115.jpg)
Rotation Matrices
Orthonormal matrix: orthogonal (columns/rows linearly
independent)normalized (columns/rows length of 1)
115
![Page 116: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/116.jpg)
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
T
rrr
rrr
rrr
rrr
rrr
rrr
333231
232221
131211
1
333231
232221
131211
![Page 117: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/117.jpg)
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
T
rrr
rrr
rrr
rrr
rrr
rrr
333231
232221
131211
1
333231
232221
131211
![Page 118: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/118.jpg)
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.,
T
xx
Tyy
Tzz
RR
RR
RR
)()(
)()(
)()(
1
1
1
123
![Page 119: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/119.jpg)
3D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
),,( 000 zyx
k
'k
124
![Page 120: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/120.jpg)
2D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
110010
0
y
x
yjjij
xjiii
y
xTT
TT
),( 00 yx
poooop
125
![Page 121: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/121.jpg)
3D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
1
'
'
'
1000
'
'
'
10
0
0
z
y
x
zkkjkik
ykjjjij
xkijiii
z
y
x
TTT
TTT
TTT
),,( 000 zyx
k
'k
poooop
126
![Page 122: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/122.jpg)
3D Coordinate Transformation
Transform object description from to
pj
i
i
j
o
o
ji ij
1
'
'
'
1000
'
'
'
10
0
0
z
y
x
zkkjkik
ykjjjij
xkijiii
z
y
x
TTT
TTT
TTT
),,( 000 zyx
k
'k
poooop
127
![Page 123: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/123.jpg)
3D Coordinate Transformation
Transform object description from to
i
i
j
o
ji ij
1
'
'
'
1000
'
'
'
10
0
0
z
y
x
zkkjkik
ykjjjij
xkijiii
z
y
x
TTT
TTT
TTT
k
128
p'i
'j
![Page 124: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/124.jpg)
3D Coordinate Transformation
Transform object description from toji ij
129
'i
11000
0cos0sin
0010
0sin0cos
1
z
y
x
z
y
x
x
y
z
![Page 125: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/125.jpg)
Composite 3D Transformation
Similarly, we can easily extend composite transformation from 2D to 3D
1
2
3
),,( 0yx
3c
2c
1c
0c
A
130
![Page 126: Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649f055503460f94c1a23c/html5/thumbnails/126.jpg)
Composite 3D Transformation
xRRhTRhTRRRhTRRRzyxTp )()()0,,0()()0,,0()()()()0,,0()()()(),,( 332211110000000
131