Professional Documents
Culture Documents
1 0 0
0 1 0
2 0 1
T
1
1
1
]
1
1 0 0
0 2 0
0 0 2
S
Y
X
1,1
!,1
2,!
Y
X
1,1
!,1
2,!
Case 1(translate t"en scale)
Case 2 (scale t"en translate)
Compositing Transformations
1 0 0
0 1 0
2 0 1
T
1
1
1
]
1
1 0 0
0 2 0
0 0 2
S
Y
X
1,1
!,1
2,!
Y
X
1,1
!,1
2,!
Case 1(translate t"en scale)
Case 2 (scale t"en translate)
-1,1
0,3
-1,1
0,6
-2,2
2,2
2,2
6,2
4,6
0,2
4,2
2,6
Composition Example
STP P
TSP P
1
1
1
]
1
1 0 0
0 2 0
0 0 2
1
1
1
]
1
1
1
1
]
1
1 0 0
0 2 0
# 0 2
1 0 0
0 1 0
2 0 1
1
1
1
]
1
1 0 0
0 1 0
2 0 1
1
1
1
]
1
1
1
1
]
1
1 0 0
0 2 0
2 0 2
1 0 0
0 2 0
0 0 2
Scale(2.0,2.0);
Translate(-2.0,0.0);
drawTriangle();
Translate(-2.0, 0.0);
Scale(2.0,2.0);
drawTriangle();
$n general, transformations are not commtati%e
%eed to transform points from &world' (iew (window)
to t)e sreen (iew (viewport)
T)e window is often entered aro$nd t)e ori#in, b$t need not be
T)e area on t)e sreen t)at yo$ will map t)e window to
T)ey an ontain t)e same (iew of a window, different (iews of t)e same
window, or different (iews of different windows
Viewport (cont)
u
v
0 10 20 30 40 50 60 70 80
10
20
!0
#0
&0
'0
0
,ie)port (screen)
min
min
y
x
1
]
1
min
min
v
u
1
]
1
ma-
ma-
v
u
1
]
1
ma-
ma-
y
x
min min
and y t x t
y x
min ma-
min ma-
min ma-
min ma-
and
y y
v v
s
x x
u u
s
y x
min min
and v t u t
y x
Window-to-Viewport Transform
(cont.)
1
1
1
]
1
1
1
1
1
1
1
1
]
1
1
1
1
]
1
,
_
1 0 0
0
0
1 0 0
1 0
0 1
1 0 0
0 0
0 0
1 0 0
1 0
0 1
min
min ma-
min ma-
min
min ma-
min ma-
min
min ma-
min ma-
min
min ma-
min ma-
min
min
min ma-
min ma-
min ma-
min ma-
min
min
min min
min ma-
min ma-
min ma-
min ma-
min min
v
y y
v v
y
y y
v v
u
x x
u u
x
x x
u u
y
x
y y
v v
x x
u u
v
u
,-y -x T
-y y
-v v
,
x x
u u
S ,v u T M
WV
Window-to-Viewport Transform
(cont.)
1
.
min
min ma-
min ma-
min
min
min ma-
min ma-
min
v
y y
v v
y y
u
x x
u u
x x
p
1
.
min
min ma-
min ma-
min
min
min ma-
min ma-
min
v
y y
v v
y y
u
x x
u u
x x
p
x
y
-3
-2
-1
0
1
2
3
-4 -3 -2 -1 1 2 3 4
v
u
0 10 20 30 40 50 60 70 80
0
10
20
30
40
50
60
(indo) (*)orld+) ,ie)port (screen)
1
]
1
min
min
y
x
1
]
1
min
min
v
u
1
]
1
ma-
ma-
v
u
1
]
1
ma-
ma-
y
x
min
min
y
x
1
]
1
min
min
v
u
1
]
1
ma-
ma-
v
u
1
]
1
ma-
ma-
y
x
1
.
min
min ma-
min ma-
min
min
min ma-
min ma-
min
v
y y
v v
y y
u
x x
u u
x x
p
( )
( )
1
1
1
1
1
1
1
1
1
1
1
]
1
1
10
) ! ( 1
10 !0
) ! (
!0
) ! ( 2
!0 /0
) ! (
. y
x
p
1
1
1
1
1
1
1
1
]
1
+ +
+ +
1
10
#
) ! (
!0
&
&0
) ! (
20
y
x
1
1
1
]
1
+ +
+ +
1
10 & ) ! (
!0 10 ) ! (
y
x
1
1
1
]
1
+
+
1
2& &
'0 10
y
x
+
+
1
2& &
'0 10
. y
x
p
(-min, ymin) 0 (-!, -!) > (!0, 10)
(-ma-, yma-) 0 (2, 1) >
1eft eye 0 (-1, -2/) >
3op of "ead 0 (-02&, 02&) >
x
y
-3
-2
-1
0
1
2
3
-4 -3 -2 -1 1 2 3 4
v
u
0 10 20 30 40 50 60 70 80
0
10
20
30
40
50
60
(indo) (*)orld+) ,ie)port (screen)
(&&, 242&)
(&0, 21)
(/0, !0)
min
min
y
x
1
]
1
min
min
v
u
1
]
1
ma-
ma-
v
u
1
]
1
ma-
ma-
y
x
min
min
y
x
1
]
1
ma-
ma-
y
x
u
v
0 10 20 30 40 50 60 70 80
60
50
40
30
20
10
0
,ie)port (screen)
1
]
1
min
min
v
u
1
]
1
ma-
ma-
v
u
+
+
1
1
1
]
1
+ +
+
1
1
1
]
1
+ +
+
1
1& &
'0 10
1
2& & 10 !0
'0 10
1
2& &
'0 10
.
min ma-
y
x
y
x
y v v
x
p
+
+
1
1& &
'0 10
. y
x
p
(-min, ymin) 0 (-!, -!) > (!0, !0)
(-ma-, yma-) 0 (2, 1) >
1eft eye 0 (-1, -2/) >
3op of "ead 0 (-02&, 02&) >
x
y
-3
-2
-1
0
1
2
3
-4 -3 -2 -1 1 2 3 4
(indo) (*)orld+) ,ie)port (screen)
(&&, 122&)
(&0, 17)
(/0, 10)
u
v
0 10 20 30 40 50 60 70 80
60
50
40
30
20
10
0