\chyph

\hoffset=-1cm \voffset=-1.2cm \hsize=18cm

\ifx\pdfoutput\undefined \else
\pdfpagewidth=21cm
\pdfpageheight=15cm
\fi

\font\logocvut=lev scaled400

\ifx\zkratka\undefined\edef\zkratka{\jobname}\fi
\def\cislo{13}

\headline={\setfonts[/10]\rm
   \ifnum\pageno>1 
   \hfill {\setfonts[/7] BI-LIN, \zkratka, \cislo, P. Olšák \quad}\else
   \firstpage\hfill\fi [\the\pageno]}
\footline={}

\def\firstpage{\vbox to0pt{\kern13.7cm\hbox{%
\setfonts[/8] a) \zkratka, \cislo, b) P. Olšák, FEL ČVUT, c) P. Olšák 2010--13,
  d) BI-LIN, e) L, f) 2012/2013, g) \lower1pt\hbox{\logocvut L}. 
  Viz p. d. 4/2010
}\vss}}

\input ofs [a35]  %\def\fomenc{CM}  

%\showfonts \end
%\displayfontmessages
\setfonts[NewCentury/17]  \setmath[17/12/8]  
\baselineskip=22pt \normalbaselineskip=\baselineskip

\message{\fontname\tenit}

\medskipamount=9pt
\let\ms=\medskip

\parskip=\medskipamount

\def\n#1\par{\vfill\break}

\def\g#1\par{{\null \vskip-31pt \baselineskip=30pt\setfonts[/23]\bf #1\par}\medskip}
\def\gg#1\par{{\setfonts[/55]\bf #1}\medskip}
\def\hb{\hfil\break}

\def\emerge{{\emergencystretch=2em\par}}

\parindent=0pt

\catcode`\*=13 
\def* {\par \hangindent=15pt \hangafter=1 
   \noindent \hbox to\hangindent {$\bullet$\hss}}

\let\em=\it

\def\C{{\bf C}}
\def\R{{\bf R}}
\def\Q{{\bf Q}}
\def\a{{A}}
\def\A{{\bf A}}
\def\B{{\bf B}}
\def\D{{\bf D}}
\def\E{{\bf E}}
\def\P{{\bf P}}
\def\L{{\bf L}}
\def\U{{\bf U}}
\def\X{{\bf X}}
\def\ker{\mathop{\rm Ker}}
\def\st{\mathop{\rm St}}
\def\hod{\mathop{\rm hod}}
\def\vecc #1_#2{\vec#1_1, \vec#1_2, \ldots, \vec#1_{#2}}
\def\lob<#1>{\langle #1\rangle}

% ===============================================================

\vglue .5cm

\gg Afinní 

\gg transformace

\g Stručnější verze

\bigskip\bigskip

* je posunutí plus lineární transformace

* má svou matici vzhledem k homogenním souřadnicím

* body a vektory: afinní prostor

* využití například v počítačové grafice


\n ---------------------------------------------------------------


\g Afinní transformace (zhruba)

Zjednodušená {\bf definice}:

{\em Afinní transformace} na $\R^n$ je takové zobrazení
$\a: \R^n\to \R^n$, pro které existuje vektor $\vec t\in \R^n$
a lineární transformace $\a':\R^n\to \R^n$ tak, že
$$
  \a(\vec x) = \a'(\vec x) + \vec t \quad \forall \vec x \in \R^n,
$$
tj. $A$ je složení lineární transformace a posunutí.

{\bf Pozorování:} Pro $\vec t\not=\vec o$ není afinní transformace lineární
transformací a tudíž nemá svou matici (jako lineární transformace).

Přidáme-li ale k matici jeden řádek a jeden sloupec, může tato matice
reprezentovat afinní transformaci (viz další slídy).



\n -------------------------------------------------------------


\g Idea homogenních souřadnic (rámcově)

Zapišme $\vec x\in\R^n$ (resp. $\vec t\in\R^n$) do sloupce $\bf x$ 
(resp.~$\bf t$).
Nechť dále $\bf A'$ je matice lineární transformace $A':\R^n\to\R^n$.
$$
\hbox{Pro matici}\quad
\A = \pmatrix {\A' & {\bf t}\cr {\bf o} & 1}
\qquad\hbox{(symbol $\bf o$ zde značí řádek nul)}
$$
platí:
$$
  \pmatrix {\A' & {\bf t}\cr {\bf o} & 1}\cdot
  \pmatrix{{\bf x}\cr 1} =
  \pmatrix{\A'\cdot {\bf x} + {\bf t}\cr 1}
$$

Výsledek maticového násobení tedy obsahuje souřadnice obrazu afinního 
zobrazení $A(\vec x) = A'(x) + \vec t$.

Uvedenou matici $\A$ nazýváme {\em maticí afinního zobrazení $A$ v homogenních
souřadnicích.}


\n -----------------------------------------------------------------


\g Body a vektory (inuitivně)

Z geometrického pohledu vektor udává směr a velikost směru, nikoli polohu.
Nemá tedy smysl \uv{posunovat} vektory, prvky lineárního prostoru, pomocí
afinní transformace.

Na druhou stranu v gemometrii jsou také {\em body}, které má smysl 
transformovat afinní transformací včetně posunu. Body mají souřadnice
vymezené podobně jako souřadnice vektorů, tedy jejich souřadnice 
jsou prvky z~$\R^n$.

Je obtížné přesně definovat bod jako \uv{malé nic s nulovými rozměry}, ale je
rozumné uvést axiomaticky vzájemnou souvislost (blíže nespecifikovaných)
bodů a vektorů. To řeší následující definice afinního prostoru.

\n --------------------------------------------------------------


\g Afinní prostor

Nechť $\X$ je množina (bodů) a $V$ je lineární prostor dimenze $n$.
Na lineárním prostoru $V$ jsou definovány operace
$\cdot: \R\times V\to V$ a $+: V\times V\to V$ splňující axiomy lineárního
prostoru. Je-li navíc definována operace
$+:\X\times V\to \X$ (bod + vektor = bod), pro kterou platí:
$\forall \, P\in\X, Q\in\X, \vec u\in V, \vec v\in V$ je

\qquad (1) $P+\vec o = P$, kde $\vec o\in V$ je nulový vektor,

\qquad (2) $(P+\vec u) + \vec v = P + (\vec u+\vec v)$,

\qquad (3) existuje jediný vektor $\vec w\in V$ tak, že $Q = P + \vec w$,

pak se dvojice $(\X,V)$ nazývá {\em afinní prostor} dimenze $n$.
Přitom $\X$ je množina {\em bodů} a $V$ je množina {\em vektorů} tohoto
afinního prostoru.

{\bf Poznámka:} Vektor $\vec w$ z vlastnosti (3) značíme 
$\vec w = Q-P = \vec{PQ}$. Odpovídá to operaci \uv{bod $-$ bod = vektor}.


\n -----------------------------------------------------------


\g Ilustrace afinního prostoru

V předchozí (axiomatické) definici není nutno vymezit, co to je \uv{bod},
stačí, když tyto \uv{objekty} splňují vyjmenované axiomy. Nic\-méně je možné
a velmi užitečné afinní prostor ilustrovat na základě intuitivního chápání 
pojmu bod v geometrickém prostoru:

Nechť $\X$ je geometrický prostor všech bodů. Jeden z nich zvolíme jako
počátek~$O$ a pak všechny body $P\in\X$ jsou charakterizovány svým
radiusevektorem:
orientovanou úsečkou začínající v~$O$ a končící v~$P$. Dále uvažujme
lineární prostor $U_O$ všech orietnovaných úseček začínajících v~$O$
(sčítání: doplňovaním na rovnoběžník, násobení: násobení délek vektorů). 
Dvojice $(\X,U_O)$ je afinní prostor.

Operace \uv{bod + vektor = bod}, tedy $P +\vec v = Q$, je zavedena takto:
sečteme radiusvektor bodu $P$ s vektorem $\vec v$. Výsledný vektor 
je radiusvektorem hledaného bodu $Q$ (udělejte si náčtrtek a ověřte si, 
že platí axiomy).


\n ------------------------------------------------------------

\g Souřadnice v afinním prostoru

{\bf Definice}: Nechť $(\X, V)$ je afinní prostor. Zvolme
$O\in\X$ a uspořádanou bázi $(B)$ lineárního prostoru $V$. 
Dvojici $(O,B)$ nazýváme {\em souřadným
systémem\/} afinního prostoru $(\X, V)$ a vzhledem k tomtuto
souřadnému systému jsou

* {\em souřadnice vektoru $\vec v\in V$} definovány jako souřadnice 
tohoto vektoru vzhledem k uspořádané bázi $(B)$ a 

* {\em souřadnice bodu $P\in\X$} jsou definovány jako souřadnice vektoru
  $P-O$ vzhledem k uspořádané bázi $(B)$. 

{\bf Poznámka}:
Je-li pevně dán souřadný systém, pak
body i vektory v~$(\X, V)$ ztotožňujeme s uspořádanými $n$-ticemi jejich
souřadnic, tedy s~prvky v $\R^n$. Sčítání souřadnic v $\R^n$ 
odpovídá nejen sčítání vektorů, ale i operacím \uv{bod + vektor}.



\n -----------------------------------------------------------------


\g Homogenní souřadnice


{\em Homogenní souřadnice vektoru} v souřadném systému $(O,B)$ je uspořádaná
\hbox{$(n+1)$}-tice; prvních $n$ složek obsahuje souřadnice vektoru, poslední
složka obsahuje nulu.

{\em Homogenní souřadnice bodu} v souřadnému systému 
$(O,B)$ je uspořádaná
\hbox{$(n+1)$}-tice; prvních $n$ složek obsahuje souřadnice bodu, poslední
složka obsahuje jedničku.

{\bf Pozorování:} Tvrzení z předchozí strany [7] o souřadnicích z $\R^n$
platí i v~případě, že sčítáme homogenní souřadnice
z $\R^{n+1}$. Tento součet koresponuje i s operací \uv{bod + vektor}.


\n -------------------------------------------------------

\g Matice v homogenních souřadnicích

Nechť $(\X,V)$ je afinní prostor. 
Zobrazení $\a:\X\to\X$, pro které existuje matice $\A\in\R^{n+1,n+1}$
s~vlastností:
$$
    \A\cdot\pmatrix{\hbox{homogenní}\cr\hbox{souřadnice}\cr\hbox{bodu }P\cr
      \hbox{vzhledem}\cr\hbox{k $(O,B)$}} = 
  \pmatrix{\hbox{homogenní}\cr\hbox{souřadnice}\cr\hbox{bodu }\a(P)\cr
      \hbox{vzhledem}\cr\hbox{k $(O,B)$}}
$$
se nazývá transformace s maticí $\A$ v homogenních souřadnicích.

{\bf Pozorování:} Matice $\A$ musí být tvaru:
$$
  \A = \pmatrix {\A' & {\bf t}\cr {\bf o} & 1}
$$
kde $\A'\in\R^{n,n}$, ${\bf t}\in\R^{n,1}$, ${\bf o}\in\R^{1,n}$ je
nulový vektor, takže to je matice afinního zobrazení v homogenních
souřadnicích.


\n ----------------------------------------------------


\g Příklad 2D

Obecná matice transformace v homogenních souřadnicích má tvar:
$$
  \pmatrix {a&b&c\cr d&e&f\cr 0&0&1}.
$$
Je tedy určena šesti parametry.

Bod se souřadnicemi $(x,y)$ přejde při transformaci
s touto maticí na bod se souřadnicemi $(x',y')$:
$$
  \pmatrix {x'\cr y'\cr 1} =
  \pmatrix {a&b&c\cr d&e&f\cr 0&0&1} \cdot
  \pmatrix {x\cr y\cr 1} =
  \pmatrix {ax + by + c\cr dx + ey + f\cr 1},
$$
takže bod se transformuje lineárně a posune o vektor $(c,f)$.

\n --------------------------------------------------

\g Příklad 3D

Obecná matice transformace v homogenních souřadnicích má tvar:
$$
  \pmatrix {a&b&c&d\cr e&f&g&h\cr i&j&k&l\cr 0&0&0&1}.
$$
Je určena dvanácti parametry.

Transformace bodu probíhá podle následujícího vzorce:
$$
  \pmatrix {x'\cr y'\cr z'\cr1} =
  \pmatrix {a&b&c&d\cr e&f&g&h\cr i&j&k&l\cr 0&0&0&1} \cdot
  \pmatrix {x\cr y\cr z\cr1} =
  \pmatrix {ax+by+cz+d\cr ex+fy+gz+h\cr ix+jy+kz+l\cr 1}   
$$

\n ------------------------------------------------

\g Skládání transformací --- součin matic

{\bf Věta}: Nechť $\A$ a $\B$ jsou matice transformací $A$ a $B$ v homogenních
souřadnicích
$$
  \A = \pmatrix {\A' & {\bf t}\cr {\bf o} & 1}, \qquad
  \B = \pmatrix {\B' & {\bf s}\cr {\bf o} & 1}
$$
Pak složená transformace $B\circ A$ má matici:
$$
  \B\cdot\A =
  \pmatrix {\B' & {\bf s}\cr {\bf o} & 1} \cdot
  \pmatrix {\A' & {\bf t}\cr {\bf o} & 1} =
  \pmatrix {\B'\cdot\A'& \B'\cdot{\bf t} + {\bf s}\cr {\bf o} & 1}.
$$

{\bf Poznámka}: Je $(B\circ A)(x) = (B(A(x))$.

Důkaz věty se provede analogicky, jako důkaz věty o složeném lineárním
zobrazení. 

\n ------------------------------------------------

\g Inverzní transformace --- inverzní matice

{\bf Věta:} Má-li transformace $A$ regulární matici $\A$ v homogenních
souřadnicích, pak je prostá a na a $A^{-1}$ má matici $\A^{-1}$ v
homogenních souřadnicích.

{\bf Pozorování}: 
$$
  \hbox{Je-li}\quad
  \A = \pmatrix {\A' & {\bf t}\cr {\bf o} & 1},\quad \hbox{pak}\quad
  \A^{-1} = \pmatrix {(\A')^{-1} & -\,(\A')^{-1}\,{\bf t}\cr {\bf o} & 1}
$$
Inverzní matice k $\A$ existuje, právě když $\A'$ je regulární.

\n ------------------------------------------------

\g Příklad: elementární transformace ve 2D

{\bf Změna měřítka} má matici v homogenních souřadnicích:
$$
  \pmatrix {a& 0&0\cr 0&b&0\cr 0&0&1}.
$$
{\bf Rotace} o úhel $\alpha$ má matici v homogenních souřadnicích:
$$
  \pmatrix {\cos\alpha& -\sin\alpha&0\cr 
           \sin\alpha&\phantom+\cos\alpha&0\cr 0&0&1},
$$
{\bf Posunutí} o vektor se souřadnicemi $(t_x, t_y)$ má matici
v homogenních souřadnicích:
$$
  \pmatrix {1&0& t_x\cr 0&1&t_y\cr 0&0&1}
$$
Další transformace vznikají skládáním těchto
transformací. 

\n -----------------------------------------------------

\g Příklad

Najdeme matici (v homogenních souřadnicích) 
rotace o úhlel $\alpha$ kolem bodu $(2,3)$.

Uvedená transformace je složením následujících transformací:
* posunutí o vektor $(-2,-3)$,
* rotace o úhel $\alpha$,
* posunutí o vektor $(2,3)$.

Matice výsledné transformace je součinem matic:
$$
  \displaylines {
  \biggl( \hbox{posunutí o $(2,3)$} \biggr) \cdot 
  \biggl( \hbox{rotace o úhel $\alpha$} \biggr) \cdot 
  \biggl( \hbox{posunutí o $(-2,-3)$} \biggr) =\cr \noalign{\bigskip}
  =  \pmatrix {1&0& 2\cr 0&1&3\cr 0&0&1} \cdot
     \pmatrix {\cos\alpha& -\sin\alpha&0\cr 
           \sin\alpha&\phantom+\cos\alpha&0\cr 0&0&1} \cdot
     \pmatrix {1&0& \!-2\cr 0&1&\!-3\cr 0&0&1} = \ \cdots
}
$$


\n -------------------------------------------------------

\g Příklad, pokračování

$$
  \cdots \ =   \pmatrix {\cos\alpha& -\sin\alpha\ & -2\cos\alpha+3\sin\alpha+2\cr 
           \sin\alpha&\phantom+\cos\alpha\ &-2\sin\alpha-3\cos\alpha+3\cr 0&0&1}.
$$
Takže bod o souřadnicích $(x,y)$ přechází po této transformaci na bod
o souřadnicích $(x'y')$, pro který platí:
$$
  \displaylines {
  \pmatrix {x'\cr y'\cr 1} =
  \pmatrix {\cos\alpha& -\sin\alpha\ & -2\cos\alpha+3\sin\alpha+2\cr 
           \sin\alpha&\phantom+\cos\alpha\  &-2\sin\alpha-3\cos\alpha+3\cr 0&0&1}
  \cdot \pmatrix {x\cr y\cr 1}
  = \cr \noalign{\bigskip}
  = \pmatrix {(\cos\alpha)\,x -(\sin\alpha)\,y -2\cos\alpha+3\sin\alpha+2\cr
              (\sin\alpha)\,x +(\cos\alpha)\,y -2\sin\alpha-3\cos\alpha+3\cr1}
}
$$

\end
