Afinní rovina Lineární zobrazení a matice Euklidovská rovina Matematika I – 3. přednáška Geometrie v rovině Jan Slovák Masarykova univerzita, Fakulta informatiky 1. 10. 2012 Afinní rovina Lineární zobrazení a matice Euklidovská rovina Obsah přednášky 1 Afinní rovina 2 Lineární zobrazení a matice 3 Euklidovská rovina Afinní rovina Lineární zobrazení a matice Euklidovská rovina Afinní rovina a vektorový prostor R2 Na konci minulé přednášky jsme intuitivně používali elementární pojmy z geometrie reálné roviny. Budeme teď podrobněji zkoumat jak se vypořádávat s potřebou popisovat „polohu v rovině“, resp. dávat do souvislostí polohy různých bodů roviny. Zkusme si množinu A = R2 představit z pohledu pozorovatele, který sedí v některém pevně zvoleném místě (můžeme mu říkat třeba bod O = (x0, y0) ∈ R2). Předpokládejme, že ji vnímá jako nekonečnou desku bez jakýchkoliv zvolených měřítek a popisů a ví, co to znamená posunout se v libovolném násobku nějakého směru. Takové rovině budeme říkat „afinní rovina“. Afinní rovina Lineární zobrazení a matice Euklidovská rovina Aby pozorovatel mohl vidět kolem sebe „dvojice reálných čísel“, musí si vybrat nějaký bod E1, kterému řekne „bod [1, 0]“ a jiný bod E2, kterému začne říkat „bod [0, 1]“. Do všech ostatních se pak dostane tak, že poskočí „a–krát ve směru [1, 0]“, pak „b–krát ve směru [0, 1]“ a takovému bodu bude říkat „bod [a, b]“. Pokud to bude dělat obvyklým způsobem, nebude výsledek záviset na pořadí, tzn. může také napřed jít b–krát ve směru [0, 1] a pak teprve v tom druhém. To, co jsme popsali, se nazývá volba (afinního) souřadného systému v rovině, bod O je jeho počátkem, posunutí E1 − O ztotožňujeme s dvojicí [1, 0], podobně u E2 a obecně každý bod P roviny je ztotožněn s dvojicí čísel [a, b] = P − O. Všimněme si, že zároveň volbou pevného počátku O jsou ztotožněny jednotlivé body P roviny se směry posuvu v = P − O a že všechny takové posuvy umíme skládat (budeme říkat „sčítat“) a také jednotlivé směry násobit v poměru každého reálného čísla (budeme říkat „násobit skalárem“). Afinní rovina Lineární zobrazení a matice Euklidovská rovina Přímky v rovině Naše operace sčítání bodů v rovině a jejich násobení skaláry splňují hodně vlastností skalárů. Budeme místo o směrech posuvu mluvit o vektorech a od bodů je budeme rozlišovat tím, že budou dány dvojicemi souřadnic v kulatých závorkách místo hranatých. Když se náš pozorovatel umí posouvat o libovolný násobek pevného vektoru, pak také ví, co je to přímka. Je to podmnožina p ⊂ A v rovině taková, že existují bod O a vektor v takové, že p = {P ∈ A; P − O = t · v, t ∈ R}. Popišme si P = P(t) ∈ p ve zvolených souřadnicích s volbou v = (α, β): x(t) = x0 + α · t, y(t) = y0 + β · t. Afinní rovina Lineární zobrazení a matice Euklidovská rovina Jednoduchým výpočtem dostaneme (vyloučíme t z parametrického vyjádření pro x a y, když pro určitost předpokládáme, že třeba α = 0) −βx + αy + (βx0 − αy0) = 0. To je obecná rovnice přímky ax + by = c, se známým vztahem dvojice čísel (a, b) a vektoru v = (α, β) aα + bβ = 0. Výraz nalevo v rovnici přímky můžeme vidět jako skalární funkci F závislou na bodech v rovině a s hodnotami v R, samu rovnici pak jako požadavek na její hodnotu. Vektor (a, b) je směrem, ve kterém F nejrychleji roste. Proto bude směr kolmý na (a, b) právě směrem, ve kterém zůstává naše funkce F konstantní. Hodnota c pak určuje, která z přímek se „zvoleným směrem“ to bude. Afinní rovina Lineární zobrazení a matice Euklidovská rovina Mějme dvě přímky p a q a ptejme se po jejich průniku p ∩ q. Ten bude popsán jako bod, splňující obě rovnice přímek naráz. Pišme je takto ax + by = r cx + dy = s. Opět můžeme levou stranu vnímat jako přiřazení, které každé dvojici souřadnic [x(P), y(P)] bodů v rovině přiřadí vektor hodnot dvou skalárních funkcí F1 a F2. Můžeme tedy naše rovnice napsat jako jediný vztah F(v) = w, kde F je přiřazení, které vektor v popisující polohu obecného bodu v rovině zobrazí na vektor zadaný levou stranou rovnic, a požadujeme, aby se toto zobrazení strefilo do předem zadaného vektoru w = (r, s). Afinní rovina Lineární zobrazení a matice Euklidovská rovina Přiřazení F, se kterým jsme pracovali při popisu průniku přímek, zjevně respektuje operace sčítání a násobení s vektory a skaláry: F(a · v + b · w) = a · F(v) + b · F(w) pro všechny a, b ∈ R, v, w ∈ R2. Říkáme, že F je lineární zobrazení z R2 do R2, a píšeme F : R2 → R2. Obdobně, v rovnici pro přímku šlo o lineární zobrazení F : R2 → R a jeho předepsanou hodnotu c. Stručně budeme zapisovat taková zobrazení pomocí matic a jejich násobení, které definujeme takto: A = a b c d , v = x y A · v = a b c d · x y = ax + by cx + dy . Afinní rovina Lineární zobrazení a matice Euklidovská rovina Podobně, můžeme místo vektoru v zprava násobit jinou maticí B stejného rozměru jako je A. Prostě aplikujeme předchozí formule po jednotlivých sloupcích matice B a obrdržíme jako výsledek opět matice. Snadno ověříme tzv. asociativitu násobení: (A · B) · C = A · (B · C). Stejně snadno je vidět i distributivita A · (B + C) = A · B + A · C, neplatí však komutativita a existují „dělitelé nuly“. Např. 0 1 0 0 · 0 0 0 1 = 0 1 0 0 , 0 0 0 1 · 0 1 0 0 = 0 0 0 0 . Afinní rovina Lineární zobrazení a matice Euklidovská rovina Body v rovině jsou tedy obecně vzory hodnot lineárních zobrazení F roviny do roviny, přímky jsou obecně vzory hodnot lineárních zobrazení z roviny do reálné přímky R. Samozřejmě, ve zvláštních situacích tomu tak být nemusí. Tak třeba průnikem dvou stejných přímek je opět sama přímka (a vzorem vhodné hodnoty pro takové lineární zobrazení bude celá přímka), nulové zobrazení má za vzor nuly celou rovinu, průnik dvou rovnoběžných přímek je prázdný. Poznáme to pomocí vztahu ad − bc = 0 tj. vyjádření, kdy jsou nalevo v rovnicích přímek stejné výrazy až na skalární násobek. V takovém případě buď nebude v průniku žádný bod (rovnoběžné různé přímky) nebo tam budou všechny body přímky (stejné přímky). Afinní rovina Lineární zobrazení a matice Euklidovská rovina Výrazu ad − bc = 0 říkáme determinant matice A a píšeme pro něj det A = ad − bc, případně det A = a b c d = ad − bc. Jestliže k výsledku lineárního zobrazení ještě dovolíme přičíst pevný vektor T = (w, z), tj. naše zobrazení bude v = x y → A · v + T = ax + by + w cx + dy + z , máme popsána právě všechna tzv. afinní zobrazení roviny do sebe. Známými příklady jsou všechny afinní podobnosti. Lineární zobrazení pak odpovídají těm afinním zobrazením, které zachovávají pevný bod O. Afinní rovina Lineární zobrazení a matice Euklidovská rovina Přidejme nyní schopnost našeho pozorovatele vidět vzdálenosti. Okamžitě pak můžeme definovat pojmy jako jsou úhel a otočení v rovině. Jednoduše si to můžeme představit takto: rozhodne se o nějakých bodech E1 a E2, že jsou od něj ve vzdálenosti jedna, a zároveň si řekne, že jsou na sebe kolmé. Vzdálenosti ve směrech souřadných os pak jsou dány příslušným poměrem, obecně používá Euklidovu větu. Odtud vyjde známý vzorec pro velikost vektoru v = (a, b) v = a2 + b2. Jiný možný postup by byl, kdyby pozorovatel vyšel z pojmu vzdálenost (a věděl co znamená „kolmý“ třeba díky Euklidově větě), zvolil první z vektorů velikosti jedna, zvolil si orientaci (třeba proti směru hodinových ručiček) a vybral jednotkový kolmý směr (ten jednoznačně určí třeba z požadavku platnosti Euklidovy věty pomocí pravoúhlého trojúhelníku se stranami o velikostech 3, 4 a 5). Afinní rovina Lineární zobrazení a matice Euklidovská rovina Úhel ϕ dvou vektorů v, w vyjadřujeme pomocí funkce cos ϕ, která je dána hodnotou reálné první souřadnice jednotkového vektoru, jehož úhel s vektorem (1, 0) je ϕ. Zjevně je pak druhá souřadnice takového vektoru dána reálnou hodnotou 0 ≤ sin ϕ ≤ 1 splňující (cos ϕ)2 + (sin ϕ)2 = 1. Obecně pak pro dva vektory v a w popisujeme jejich úhel pomocí souřadnic v = (x(v), y(v)), w = (x(w), y(w)) takto: cos ϕ = x(v) · x(w) + y(v) · y(w) v · w . Afinní rovina Lineární zobrazení a matice Euklidovská rovina Příkladem lineárního zobrazení, které zachovává velikosti, je rotace o předem daný úhel ψ. Je dána formulí s maticí Rψ: v = x y → Rψ · v = cos ψ − sin ψ sin ψ cos ψ · x y . Aplikací na jednotkový vektor (1, 0) dostáváme skutečně právě očekávaný výsledek (cos ψ, sin ψ). Afinní rovina Lineární zobrazení a matice Euklidovská rovina Dalším příkladem je tzv. zrcadlení vzhledem k přímce. Opět nám bude stačit popsat zrcadlení vzhledem k přímkám procházejícím počátkem O a ostatní se z nich odvodí pomocí translací. Hledáme matici Zψ zrcadlení vzhledem k přímce s jednotkovým směrovým vektorem v svírajícím úhel ψ s vektorem (1, 0). Např. Z0 = 1 0 0 −1 a obecně můžeme psát (otočíme do „nulové“ polohy, odzrcadlíme a vrátíme zpět) Zψ = Rψ · Z0 · R−ψ. Afinní rovina Lineární zobrazení a matice Euklidovská rovina Díky asociativitě násobení matic spočteme: Rψ = cos ψ − sin ψ sin ψ cos ψ · 1 0 0 −1 · cos ψ sin ψ − sin ψ cos ψ = cos ψ − sin ψ sin ψ cos ψ · cos ψ sin ψ sin ψ − cos ψ = cos2 ψ − sin2 ψ 2 sin ψ cos ψ 2 sin ψ cos ψ −(cos2 ψ − sin2 ψ) = cos 2ψ sin 2ψ sin 2ψ − cos 2ψ . Afinní rovina Lineární zobrazení a matice Euklidovská rovina Skutečnost, že orientovaný objem rovnoběžníku je možné spočíst pomocí determinantu, nám dává do rukou elegantní nástroj pro určování viditelnosti orientovaných úseček. Orientovanou úsečkou rozumíme dva body v rovině R2 s určením pořadím. Můžeme si ji představovat jako šipku od prvého k druhému bodu. Taková orientovaná úsečka nám rozděluje rovinu na dvě poloroviny, říkejme jim „levou“ a „pravou“. Jestliže uvažujeme obvyklou orientaci „proti směru hodinových ručiček“ pro hranici mnohoúhelníku, pak pozorovatel nalevo od orientované úsečky (tj. uvnitř takového mnohoúhelníka) tuto vidí a naopak pozorovatel napravo ji nevidí. Má tedy smysl ptát se, jestli je orientovaná úsečka [A, B] v rovině viditelná z bodu C. Afinní rovina Lineární zobrazení a matice Euklidovská rovina Spočtěme orientovanou plochu příslušného trojúhelníku zadaného vektory A − C a B − C. Pokud jsme s bodem C nalevo od úsečky, pak při naší orientaci bude vektor A − C dříve než ten druhý a proto výsledná plocha (tj. hodnota determinantu) bude kladná. To odpovídá situaci, kdy úsečku vidíme. Naopak, při opačné poloze bude výsledkem záporná hodnota determinantu a podle zjistíme, že úsečku nevidíme. Uvedený jednoduchý postup je často využíván pro testování polohy při standardních úlohách v 2D grafice.