1
Lineární a afinní zobrazení• Lineární algebra
▪ Matice
▪ Lineární zobrazení
• Afinní zobrazení v eukleidovském prostoru
'
x Ax
x a b x
y c d y
x ax by
y cx dy
=
=
= +
= +
Geometrické zobrazení• Zobrazujeme body jednoho prostoru na body (obecně) jiného
prostoru: (x',y',z') = f(x,y,z), tj. vektorově X’ = f(X)
• Ze školy i běžného života znáte spoustu příkladů lineárních
zobrazení, ale možná vymyslíte i nějaká zobrazení nelineární…
• Začneme ve 2D...
3
Afinity v rovině
• Afinní zobrazení je zobrazení, které zachovává linearitu a dělící poměr.
• Linearita – přímka se zobrazí do přímky nebo do bodu.
• Dělící poměr (ABC)=(A’B’C’)střed se zobrazí na střed, zlatý řez na zlatý řez…
SH
OD
NO
ST
I
ZA
CH
OV
ÁV
AJÍ
DÉ
LK
Y
5
PO
DO
BN
OS
TI
(ZM
ĚN
AM
ĚŘ
ÍTK
A)
Stejnolehlost v rovině
Poměry mezi délkami úseček jsou zachovány.
6
AF
INIT
Y
Obecné afinní zobrazení zachovává dělící
poměr tří bodů na přímce. Obrazem přímky je
přímka nebo bod, dvě rovnoběžné přímky se
zobrazí jako rovnoběžné přímky
7
HO
MO
GR
AF
IE(P
RO
JE
KT
IVIT
A) Projektivní zobrazení zachovává
jen dělící dvojpoměr 4 bodů na
přímce.
Přímka se zobrazí jako přímka
nebo bod, rovnoběžky se mohou
zobrazit jako různoběžky.
Bod v nekonečnu má svůj obraz
v konečnu (úběžník).
9
Linearity Parallel Angle Length
X X X
X X
X
Matrix Multiplication is not
commutative
1 2 2 0 4 4
3 4 1 2 10 8
=
2 0 1 2 2 4
1 2 3 4 7 10
=
Roznásobte vektorový zápis
pro danou matici A
2 1
0 1
2 1
' 0
x Ax
x x
y y
x x y
y x y
=
= −
= +
= −
◼ Lineární zobrazení je dáno maticí
Nechť A be je 2 2 matice. Funkce T definována
vv AT =)(
Je lineárním zobrazením R2 into R2.
◼ Přepis:
'
x Ax
x a b x
y c d y
x ax by
y cx dy
=
=
= +
= +
6 - 13
◼ Lineární zobrazení je dáno maticí
Nechť A je mn matice. Funkce T definována zápisem
vv AT =)(
Je lineární zobrazení z Rn do Rm.
11 12 1 1 11 1 12 2 1
21 22 2 2 21 1 22 2 2
1 2 1 1 2 2
v
n n n
n n n
m m mn n m m mn n
a a a v a v a v a v
a a a v a v a v a vA
a a a v a v a v a v
+ + +
+ + + = =
+ + +
vv AT =)(
mn RRT ⎯→⎯:
vectornR vector mR
)43,23,2(),,()1( 32321321321 xxxxxxxxxxxT +−+−−+=
◼ Výhody maticové reprezentace
−−
−
==
3
2
1
430
231
112
)()2(
x
x
x
AT xx
◼ Jednodušší a přehlednější zápis.
◼ Vhodnější pro programování (OpenGL, Matlab)
◼ Dva možné druhy zápisu T:R3→R3 :
'
x a b x
y c d y
=
=
x Mx
2D lineární zobrazení
• 2-D lineární zobrazení reprezentujeme maticí M
• Pro sloupcový vektor x násobíme M zleva:
• Pro řádkový vektor x násobíme MT zprava:
• Budeme používat sloupcové vektory.
a c
x y x yb d
=
=
Tx xM
M =a b
c d
16
Vlastnosti lineárního zobrazení
a b x ax by
c d y cx dy
=
+ = =
+
x M x
M x
1 0
0 1
a b a a b b
c d c c d d
= =
'
x a b x
y c d y
=
=
x Mx
• Bázové vektory se zobrazí do sloupců matice.
• Počátek (0,0) je vždy samodružný bod.
• Složením M a M-1 je identita (všechny body samodružné).
• Determinant det(M) je až na znaménko objem obrazu jednotkové
krychle v zobrazení M.
(1, 0)
November 11, 2020 17
Zmenšení 0.5
=
.5 0
0 .5
M
(1, 0) (0.5, 0)
(0, 1)
(0, 0.5)
=x M x
Inverzní zobrazení = zvětšení 2x
y
x
y
x
0.5 0
0 0.5
=
M
Zmenšení 0.5x =x M x
Složením matice M a M-1 je identita Determinant je koeficient přímé
úměrnosti obsahu útvaru a jeho obrazu.
12 0
0 2
− =
M
1
1det( )
4
det( ) 4−
=
=
M
M
Stejnolehlost
Popište zobrazení určené maticí S = {{2,0},{0,2}}.
Určete samodružné body a samodružné směry,
vyjmenujte invarianty.
2 0
0 2
Samodružné body: ' ; '
S
X X X SX
X S X
=
= =
=
Samodružné směry: v ' ; 'v v Sv
v S v
= =
=
20, 0
2
Jeden SB (0, 0).
x xx y
y y
= = =
=
2 ( 2) 0
2 ( 2) 0
2, ,
Všechny směry jsou samodružné.
x x x
y y y
x R y R
= − =
= − =
=
22
Obecná změna měřítka
sx1
1
sy
y
x
y
x
( ),
0
0
x y
x
y
scale s s
s
s
=
( , )x yscale s s =x x
Obecná změna měřítka
Popište zobrazení určené maticí S = {{2,0},{0,1}}.
Určete všechny samodružné body a samodružné směry.
2 0
0 1
Samodružné body: ' ; '
S
X X X SX
X S X
=
= =
=
Samodružné směry: v ' ; 'v v Sv
v S v
= =
=
20,
FP= (0, ), .
x xx y R
y y
t t R
= =
=
2 ( 2) 0
( 1) 0
2, , 0; 1 ( ,0)
1, 0, ; 2 (0, )
2 samodr. směry: [(1,0)] a [(0,1)].
x x x
y y y
x R y v t
x y R v t
= − =
= − =
= = =
= = =
Změna měřítka kružnice
0
0
aM
b
=
1
M
M −
=
=
x x
x x
y
x
y
xa
b
1
1
10
10
aM
b
−
=
xx
a
yy
b
=
=
2 2
2 2
1
1
x y
x y
a b
+ =
+ =
? Pohled řidiče1m
5 m
Skutečná fotka
November 11, 2020 26
Rotace
sin()
cos()
( )
( ) ( )
( ) ( )
rot
cos sin
sin cos
=
−
-sin()
cos()
( )rot =x x
27
y
x
y
x
( )
( ) ( )
( ) ( )
rot
cos sin
sin cos
=
−
Rotace ( )rot =x x
2 2sin cos
2 2a = = =
1. metoda: porovnání prvků R a B.
2. metoda: determinant přímé shodnosti je 1.
( )( ) ( )
( ) ( )
cos sin
sin cosR
− =
Příklad: Rotace ( )R =x x
Odhadněte parametr a tak, aby matice B reprezentovala
otočení kolem počátku.
Určete všechny samodružné body a směry.
2
2
2
2
a
B
a
−
=
2 2det( ) 1 1
4B a= + =
GeoGebra nástroj SchodovityTvar(M)provede Gaussovu
eliminaci.
Zpětným přepisem do rovnic získáme řešení x = 0 a y = 0.
Rotace má jeden samodr. bod (0,0).
Rotation
,
( )
B
B B E o
= =
= − =
x x x x
x x x
Určete samodružné body.
2 2
2 2
2 2
2 2
B
−
=
1 0( )
0 1B E
−
Matice(B-E)musí být singulární, abychom dostali netriviální
řešení, ale Det(B-E)=0 reálné řešení nemá.
Zobrazení nemá samodružné směry.
Rotace
,
( )
B
B B E o
= =
= − =
x x x x
x x x
Určete samodružné směry.
2 2
2 2
2 2
2 2
B
−
=
2 2
2 20
2 2
2 2
B E
− −
− = =
−
November 11, 2020 31
xref
1 0
0 1
=
−
Osová souměrnostxref =x x
32
y
x
xref
1 0
0 1
=
−
y
x
Osová souměrnostxref =x x
Zkosení
1
0 1
s
=
M
s
=x M x
y
x
y
x
1
0 1
s
Zkosení =x M x
35
Skládání zobrazení
• Pro lineární zobrazení T1 a T2
▪ T2 T1(v) =def T2( T1(v))
• Nechť T1 a T2 jsou reprezentovány maticemi M1 a M2
▪ T2 T1 je reprezentováno maticí M2 M1
▪ T2 T1(v) = T2( T1(v)) = (M2 M1)(v)
• Pořadí je důležité!
reflect(x) (rot(O,𝛂)): A → A’ → A’’
rot(O,𝛂) (reflect(x)): A → A → A’
' Rot
'' Ref '
A A
A A
=
=
1 1
2 2
( )
( )
T M
T M
=
=
v v
v v
36
• Pořadí je důležité!
reflect(x) (rot(O,𝛂)): A → A’ → A’’
rot(O,𝛂) (reflect(x)): A → A → A’
' Rot '' Ref '
cos sin 1 0Rot ; Ref
sin cos 0 1
cos sinRot*Ref
sin cos
cos sinRef*Rot
sin cos
A A A A
= =
− = =
−
=
−
− =
− −
Skládání zobrazení
37
Rozklad 2D lineárních zobrazení
• Jakékoliv lineární zobrazení v rovině může být rozloženo na rotaci
R(O,), změnu měřítka S (nepřímá zobrazení se záporným
koeficientem) a rotaci R-1(O,-),
M = RSR-1.
• Každé lineární zobrazení je složením nejvýše tří osových
souměrností.
Shodnosti (izometrické zobrazení)• Shodnost zachovává délky a tedy i úhly. Přímá shodnost zachovává
orientaci, zatímco nepřímá mění směr orientace.
• Přímá shodnost |M| = 1 (Rotace)
• Nepřímá shodnost |M| = -1 (Osová souměrnost)
Osová souměrnost
(osa prochází počátkem)y
x
y
x
Lineární zobrazení v rovině
• Změna měřítka, Osová souměrnost, Rotace a zkosení
• Splňují podmínku: T(au + bv) = aT(u) + bT(v)
▪ u a v jsou vektory
▪ a a b jsou skaláry
• Lineární zobrazení zachovává počátek
▪ T((0, 0)) = (0, 0)
• Jaká důležitá zobrazení nejsou lineární?
Afinní zobrazení
41
Lineární zobrazení
November 11, 2020 42
Rotace okolo obecného bodu
y
x
y
x
Není lineární. Počátek není samodružný.
43
Translace
y
x
y
x
(a, b)
(x, y)→(x+a,y+b)
Není lineární. Počátek není samodružný.
44
Homogenní souřadnice
xx
y
z
y
Vnoření xy-roviny do R3 pro z = 1.
(x, y) (x, y, 1) pro body
(x, y) (x, y, 0) pro vektory
11 12 11 12
21 22 21 22
' 0
' 0
' 0 0 1 1 1
x a a x a x a y
y a a y a x a y
z
+
= = +
'X A X=
45
2D lineární zobrazení maticemi 3x3
11 12 11 12
21 22 21 22
a a a x a yx
a a a x a yy
+ = +
Každé 2D lineární zobrazení můžeme zapsat
2x2 maticí
11 12 11 12
21 22 21 22
0
0
0 0 1 1 1
a a x a x a y
a a y a x a y
+ = +
nebo ekvivalentně 3x3 maticí
2D afinní zobrazení maticemi 3x3
Zobrazení bodu (x, y, 1)T
1 1 1 1
2 2 2 2
'
'
1 0 0 1 1 1
x e f m x e x f y m
y e f n y e x f y n
+ +
= = + +
Zobrazení vektoru (x, y, 0)T
1 1 1 1
2 2 2 2
'
'
0 0 0 1 0 0
x e f m x e x f y
y e f n y e x f y
+
= = +
2D afinní zobrazení maticemi 3x3
Zobrazení počátku (0, 0, 1)T
1 1
2 2
' 0
' 0
1 0 0 1 1 1
x e f m m
y e f n n
= =
Zobrazení bázových vektorů (1, 0, 0)T, (0, 1, 0)T
1 1 1
2 2 2
1
0
0 0 1 0 0
e f m e
e f n e
=
1 1 1
2 2 2
0
1
0 0 1 0 0
e f m f
e f n f
=
48
Posunutí v rovině maticí 3x3
Posunutí t(a, b) v rovině můžeme zapsat maticí 3x3.
1 0
0 1
0 0 1 1 1
a x x a
b y y b
+ = +
Maticové operace použijeme pro obraz bodu (vektoru), určení inverzního zobrazení, skládání a rozklad zobrazení, určení objemu...
(x, y)→(x+a,y+b)
y
x
Rotace kolem obecného bodu
y
x
11 12
21 22
0
0
0 0 1 1 1
a a m m
a a n n
=
11 12 11
21 22 21
1
0
0 0 1 0 1
a a m a
a a n a
=
11 12 12
21 22 22
0
1
0 0 1 0 1
a a m a
a a n a
=
Sloupce matice jsou obrazy
vektorů báze a počátku.
November 11, 2020 50
Rotace o 180°, střed není v počátku
51
Affine transformation
Afinní transformace je jednoznačně určena obrazy bázových
vektorů a počátku O(0.0)
Determinant A = 1, první dva sloupce jsou ortonormální, tzn.
že dané zobrazení je shodností. Zobrazení vektorů je dáno
submaticí .
Characteristický polynom má jen komplexní řešení, zobrazení
je rotace.
Typ zobrazení určíme samodružnými prvky
0 1 6
1 0 1
0 0 1
A
−
=
2 1 0A E − = + =
Příklad: Klasifikujte zobrazení A
( )
v v
v Av
A E v o
=
=
− =
0 1
1 0A
− =
0 1 6
1 0 1
0 0 1
A
−
=
( )
1 1 6 1 1 6 1 0 2.5
1 1 1 0 2 7 0 1 3.5
0 0 0 0 0 0 0 0 0
A E
− − − − −
− = − − −
Určíme samodružné body
( )
X X
X AX
A E X o
=
=
− =
GeoGebra nástroj SchodovitýTvar(M) převede matici
Gaussovou eliminací na echelon *. Zpětným přepisem *
získáme řešení y = 3,5, x = 2,5 .
Střed rotace je samodružný bod (2.5, 3.5).
*
Typ zobrazení určíme samodružnými prvky
3D Zobrazení
1
xx
yy
zz
11 12 13
11 12 13
21 22 22
21 22 23
31 32 33
31 32 33
0
0
0
0 0 0 1
a a aa a a
a a aa a a
a a aa a a
Prostor vnoříme do R4:
3D lineární zobrazení můžeme zapsat maticí 3x3 i 4x4.
55
3D Afinní zobrazení
( )
0 0 0
0 0 0scale , ,
0 0 0
0 0 0 1
x
y
x y z
z
s
ss s s
s
=
( )
1 0 0
0 1 0translate , ,
0 0 1
0 0 0 1
x
y
x y z
z
t
tt t t
t
=
56
3D Rotace
( )( ) ( )
( ) ( )x
1 0 0 0
0 cos sin 0rotate
0 sin cos 0
0 0 0 1
− =
( )
( ) ( )
( ) ( )z
cos sin 0 0
sin cos 0 0rotate
0 0 1 0
0 0 0 1
− =
( )
( ) ( )
( ) ( )y
cos 0 sin 0
0 1 0 0rotate
sin 0 cos 0
0 0 0 1
= −