Transformační matice - Transformation matrix

V lineární algebry , lineární transformace mohou být reprezentovány pomocí matic . Pokud je mapování lineární transformace na a je sloupcový vektor s položkami, pak

pro některé matice , nazvaný transformační matice z . Všimněte si, že obsahuje řádky a sloupce, zatímco transformace je od do . Někteří autoři preferují alternativní výrazy transformačních matic zahrnující řádkové vektory .

Využití

Matice umožňují zobrazení libovolných lineárních transformací v konzistentním formátu, vhodném pro výpočet. To také umožňuje transformace musí být složen snadno (vynásobením jejich matic).

Lineární transformace nejsou jediné, které mohou být reprezentovány maticemi. Některé transformace, které jsou nelineární na n-dimenzionálním euklidovském prostoru R n, mohou být reprezentovány jako lineární transformace na n +1-dimenzionálním prostoru R n +1 . Patří sem jak afinní transformace (jako je překlad ), tak projektivní transformace . Z tohoto důvodu jsou ve 3D počítačové grafice široce používány transformační matice 4 × 4 . Tyto n +1-dimenzionální transformační matice se v závislosti na jejich aplikaci nazývají afinní transformační matice , projektivní transformační matice nebo obecněji nelineární transformační matice . S ohledem na n -rozměrnou matici lze n +1 -rozměrnou matici popsat jako rozšířenou matici .

Ve fyzikálních vědách je aktivní transformace taková, která ve skutečnosti mění fyzickou polohu systému , a dává smysl, i když chybí souřadný systém, zatímco pasivní transformace je změna popisu souřadnic fyzického systému ( změna základu) ). Je důležité rozlišovat mezi aktivní a pasivní transformací . Standardně, transformací , matematici obvykle myslí aktivní transformace, zatímco fyzici mohou znamenat obojí.

Jinak řečeno, pasivní transformace se týká popisu stejného objektu při pohledu ze dvou různých souřadnicových rámců.

Nalezení matice transformace

Pokud má člověk lineární transformaci ve funkční formě, je snadné určit transformační matici A transformací každého z vektorů standardního základu pomocí T , poté vložením výsledku do sloupců matice. Jinými slovy,

Například funkce je lineární transformace. Použití výše uvedeného postupu (předpokládejme, že v tomto případě n = 2) to odhalí

Maticová reprezentace vektorů a operátorů závisí na zvoleném základě; podobné matrice výsledkem alternativního základu. Metoda hledání součástí však zůstává stejná.

Pro upřesnění lze vektor znázornit v základních vektorech se souřadnicemi :

Nyní vyjádřete výsledek transformační matice A na daném základě:

Tyto prvky matice A jsou určeny pro danou základní E za použití A na každý , a pozorování vektor odezvy

Tato rovnice definuje chtěl prvky , z j -tý sloupec matice A .

Vlastní základna a diagonální matice

Přesto existuje speciální základ pro operátor, ve kterém součásti tvoří diagonální matici, a proto se složitost násobení snižuje na n. Být diagonální znamená, že všechny koeficienty, ale nuly, ponechávají ve výše uvedeném součtu pouze jeden výraz . Přežívající diagonální prvky, jsou známé jako vlastní hodnoty a jsou označeny v definující rovnici, která se redukuje na . Výsledná rovnice je známá jako rovnice vlastních čísel . Vlastní vektory a vlastní čísla jsou z něj odvozena prostřednictvím charakteristického polynomu .

S diagonalizaci , je často možné , aby překládat do az eigenbases.

Příklady ve 2 rozměrech

Nejběžnější geometrické transformace, které udržují počátek pevný, jsou lineární, včetně rotace, škálování, střihu, odrazu a ortogonální projekce; pokud afinní transformace není čistý překlad, udržuje nějaký bod pevný a tento bod může být vybrán jako počátek, aby byla transformace lineární. Ve dvou dimenzích lze lineární transformace znázornit pomocí transformační matice 2 × 2.

Protahování

Úsek v rovině xy je lineární transformace, která zvětšuje všechny vzdálenosti v určitém směru o konstantní faktor, ale neovlivňuje vzdálenosti v kolmém směru. Uvažujeme pouze úseky podél osy x a osy y. Úsek podél osy x má tvar x ' = kx ; y ' = y pro nějakou kladnou konstantu k . (Všimněte si, že pokud k je> 1, pak je to skutečně „úsek“; pokud k je <1, je to technicky „komprese“, ale stále tomu říkáme úsek. Také, pokud k = 1, pak transformace je identita, tj. nemá žádný účinek.)

Matice spojená s roztažením o faktor k podél osy x je dána vztahem:

Podobně má úsek o faktor k podél osy y tvar x ' = x ; y ' = ky , takže matice spojená s touto transformací je

Mačkání

Pokud jsou výše uvedené dva úseky kombinovány s recipročními hodnotami, pak transformační matice představuje zmáčknutí :

Čtverec se stranami rovnoběžnými s osami se transformuje na obdélník, který má stejnou plochu jako čtverec. Vzájemné natažení a stlačení ponechávají oblast invariantní.

Otáčení

Pro otočení o úhel θ ve směru hodinových ručiček (záporný směr) kolem počátku je funkční forma a . Napsáno v maticové formě, toto se stává:

Podobně pro otáčení proti směru hodinových ručiček (kladný směr) o počátku je funkční forma a maticová forma:

Tyto vzorce předpokládají, že osa x směřuje doprava a osa y směřuje nahoru.

Body souřadnic hlášené dotykovou obrazovkou se mění s otočením úhlu (0,90,180,270)

http://sh2-git01.asrmicro.com/gerrit/c/crane/gui/lvgl/+/9742

Stříhání

Pro smykové mapování (vizuálně podobné šikmému) existují dvě možnosti.

Smyk rovnoběžný s osou x má a . Napsáno v maticové formě, toto se stává:

Smyk rovnoběžný s osou y má a , který má maticovou formu:

Odraz

Chcete -li uvažovat o přímce, která prochází počátkem, nechte být vektorem ve směru čáry. Poté použijte transformační matici:

Ortogonální projekce

Chcete -li promítnout vektor ortogonálně na čáru, která prochází počátkem, nechte být vektorem ve směru čáry. Poté použijte transformační matici:

Stejně jako u odrazů je ortogonální projekce na čáru, která neprochází počátkem, afinní, ne lineární transformace.

Paralelní projekce jsou také lineární transformace a mohou být jednoduše reprezentovány maticí. Perspektivní projekce však nejsou a pro jejich znázornění pomocí matice lze použít homogenní souřadnice .

Příklady ve 3D počítačové grafice

Otáčení

Matrice otočit úhel t Vstup kolem libovolné osy definované jednotkového vektoru ( l , m , n ) je

Odraz

Pro odraz bodu skrz rovinu (která prochází počátkem) lze použít kde je matice identity 3 × 3 a trojrozměrný jednotkový vektor pro vektorovou normálu roviny. V případě, že L2 normou z , a je jednota, transformační matice může být vyjádřen jako:

Všimněte si, že toto jsou konkrétní případy reflexe vlastníka domu ve dvou a třech dimenzích. Úvaha o přímce nebo rovině, která neprochází počátkem, není lineární transformací - je to afinní transformace - jako matici afinní transformace 4 × 4 lze vyjádřit následovně (za předpokladu, že normála je jednotkový vektor) :

kde na nějakém místě v letadle, nebo ekvivalentně .

Pokud je 4. složka vektoru 0 místo 1, pak se odráží pouze směr vektoru a jeho délka zůstává nezměněna, jako by byla zrcadlena rovnoběžnou rovinou, která prochází počátkem. Toto je užitečná vlastnost, protože umožňuje transformaci pozičních vektorů i normálních vektorů se stejnou maticí. Viz homogenní souřadnice a afinní transformace níže pro další vysvětlení.

Skládání a invertování transformací

Jednou z hlavních motivací používání matic k reprezentaci lineárních transformací je to, že transformace lze poté snadno skládat a převracet.

Kompozice se provádí násobením matice . Vektory řádků a sloupců jsou ovládány maticemi, řádky vlevo a sloupce vpravo. Protože se text čte zleva doprava, jsou při sestavování transformačních matic upřednostňovány vektory sloupců:

Pokud A a B jsou matice dvou lineárních transformací, pak účinek první aplikace A a poté B na sloupcový vektor je dán vztahem:

Jinými slovy, matice kombinované transformace A následovaná B je jednoduše součinem jednotlivých matic.

Když A je invertibilní matice, existuje matice A −1, která představuje transformaci, která „zruší“ A, protože její složení s A je matice identity . V některých praktických aplikacích lze inverzi vypočítat pomocí obecných inverzních algoritmů nebo provedením inverzních operací (které mají zjevnou geometrickou interpretaci, jako je otáčení v opačném směru) a jejich skládání v opačném pořadí. Reflexní matice jsou zvláštním případem, protože jsou jejich vlastními inverzemi a není nutné je vypočítávat samostatně.

Jiné druhy transformací

Afinní transformace

Vliv aplikace různých 2D afinních transformačních matic na jednotkový čtverec. Všimněte si, že reflexní matice jsou speciální případy škálovací matice.
Afinní transformace na 2D rovině lze provádět ve třech rozměrech. Překlad se provádí střihem rovnoběžným s rovinou zy a rotace se provádí kolem osy z.

K reprezentaci afinních transformací pomocí matic můžeme použít homogenní souřadnice . To znamená reprezentovat 2-vektor ( x , y ) jako 3-vektor ( x , y , 1) a podobně pro vyšší dimenze. Pomocí tohoto systému lze překlad vyjádřit pomocí maticového násobení. Funkční forma se stává:

Všechny běžné lineární transformace jsou zahrnuty v sadě afinních transformací a lze je popsat jako zjednodušenou formu afinních transformací. Proto může být jakákoli lineární transformace také reprezentována obecnou transformační maticí. Ten je získán rozšiřuje odpovídající lineární transformační matice podle jednoho řádku a sloupce, plnící prostor navíc nulami kromě pravém dolním rohu, který musí být nastaven na 1. Například proti směru hodinových ručiček otáčení matice shora stává :

Pomocí transformačních matic obsahujících homogenní souřadnice se překlady stanou lineárními, a proto je lze bezproblémově mísit se všemi ostatními typy transformací. Důvodem je, že skutečná rovina je mapována na rovinu w = 1 ve skutečném projektivním prostoru, a tak překlad v reálném euklidovském prostoru může být reprezentován jako střih v reálném projektivním prostoru. Ačkoli je překlad nelineární transformací v 2-D nebo 3-D euklidovském prostoru popsaném kartézskými souřadnicemi (tj. Nelze jej kombinovat s jinými transformacemi při zachování komutativity a dalších vlastností), stává se v D nebo 4-D projektivní prostor popsaný homogenními souřadnicemi, jednoduchá lineární transformace ( střih ).

Více afinních transformací lze získat složením dvou nebo více afinních transformací. Například, vzhledem k tomu, překladové T‘ s vektorem rotace R úhlem t Vstup proti směru hodinových ručiček , je tento převod S s faktory, a překlad T vektoru výsledkem M z T'RST je:

Při použití afinních transformací se nikdy nezmění homogenní složka souřadnicového vektoru (běžně nazývaného w ). Lze tedy bezpečně předpokládat, že je vždy 1, a ignorovat ji. To však není pravda při použití perspektivních projekcí.

Perspektivní projekce

Porovnání účinků aplikace 2D afinní a perspektivní transformační matice na jednotkový čtverec.

Dalším typem transformace, důležité ve 3D počítačové grafice , je perspektivní projekce . Zatímco paralelní projekce se používají k promítání bodů do obrazové roviny podél rovnoběžných čar, perspektivní projekce směřuje do obrazové roviny podél čar, které vycházejí z jednoho bodu, nazývaného střed projekce. To znamená, že objekt má menší projekci, když je daleko od středu projekce, a větší projekci, když je blíže (viz také reciproční funkce ).

Nejjednodušší perspektivní projekce používá počátek jako střed projekce a rovinu v jako rovinu obrazu. Funkční forma této transformace je pak ; . Můžeme to vyjádřit v homogenních souřadnicích jako:

Po provedení násobení matice bude homogenní složka rovna hodnotě a ostatní tři se nezmění. Abychom tedy mohli mapovat zpět do skutečné roviny, musíme provést homogenní dělení nebo rozdělení perspektivy vydělením každé složky :

Složitější perspektivní projekce mohou být složeny kombinací této s rotacemi, měřítky, překlady a nůžkami pro pohyb roviny obrazu a středu projekce, kdekoli jsou požadovány.

Viz také

Reference

externí odkazy