Grafické transformace
Grafické transformace jsou transformace používané při přípravě grafické scény v počítačové grafice. Transformace (zde reprezentované transformační maticí) jsou aplikovány na bod (reprezentovaný v homogenních souřadnicích) jako násobení matic. Transformace objektu je aplikace transformace na všechny jeho body.
Dále uvažujme dvojrozměrný prostor s počátkem v , bod a bod , který vznikl z aplikací transformace .
Transformace zde uvedené se ale nemusí používat jen v počítačové grafice.
Homogenní souřadnice
[editovat | editovat zdroj]Homogenní souřadnice umožňují reprezentovat veškeré grafické operace jako násobení matic. Rotaci a změnu měřítka ve 2D lze reprezentovat jako násobení maticí 2×2, translaci však nikoli, proto se zavádí třetí, homogenní, souřadnice.
v homogenních souřadnicích má souřadnice právě tehdy, když platí:
Souřadnice se nazývá váha bodu. se často volí rovna 1.
Při zvoleném jsou tedy homogenní souřadnice .
Elementární transformace
[editovat | editovat zdroj]Rotace (otočení)
[editovat | editovat zdroj]Rotací rozumíme otočení bodu kolem středu vztažné soustavy o daný úhel. Rotace je určena pouze úhlem .
- .
Transformační matice pro rotaci:
Scaling (změna měřítka)
[editovat | editovat zdroj]Scaling je transformace změny měřítka. Je určena změnou velikosti podle souřadnicových os .
- .
Transformační matice pro změnu měřítka:
Jsou-li koeficienty záporné, dochází ke „změně měřítka v opačném směru“, tj. ke středové symetrii.
Pokud je , je možné se stejným efektem použít matici
Tzn. nastavením homogenní souřadnice lze dosáhnout změny měřítka.
Translace (posunutí)
[editovat | editovat zdroj]Translace je transformace posunu. Je určena vektorem posunutí , který udává, kterým směrem a jak daleko bude bod posunut. Tj. .
Transformační matice pro posun:
Shear (zkosení)
[editovat | editovat zdroj]Shear je transformace zkosení. Je určena mírou zkosení ve směrech souřadnicových os . .
Transformační matice pro zkosení:
Skládání transformací
[editovat | editovat zdroj]Transformace lze skládat do jediné matice postupným násobením elementárními transformacemi , což ve svých důsledcích vede na zrychlení vykreslování. Protože násobení matic není komutativní, záleží na pořadí, ve kterém se transformace provádějí. Násobení se provádí buďto jako nebo .
Inverze
[editovat | editovat zdroj]Pokud transformujeme nějaký bod transformační maticí na bod , lze tento bod transformovat zpět na bod vynásobením inverzní maticí (pokud existuje).
V případě, že je rotační matice, je matice k ní inverzní zároveň její transpozicí (kterou lze spočítat daleko rychleji). Inverzi translační matice dostaneme tak, že u této matice změníme znaménko u prvků nad hlavní diagonálou.
Projekce (promítání)
[editovat | editovat zdroj]Při zobrazování 3D objektů na 2D zařízení je třeba stanovit způsob, kterým se toto zobrazení provede. Tímto způsobem je projekce.
Dále uvažujme průmětnu jako rovinu danou rovnicí , tj. rovinu procházející bodem a kolmou na osu . Projekce popisuje, kde paprsek (přímka pocházející a průmětnou) protne průmětnu, tzn. který pixel na displeji se rozsvítí.
Projekci lze jako každou transformaci vyjádřit maticí. Tato bude přirozeně 4×4, neboť se jedná o 3D transformaci.
Paralelní
[editovat | editovat zdroj]Rovnoběžné promítání je de facto nárysem scény – dochází pouze k zanedbání souřadnice . Všechny paprsky svírají s průmětnou stejný úhel, obvykle .
Transformační matice pro paralelní projekci:
Perspektivní
[editovat | editovat zdroj]Při středovém promítání jsou všechny paprsky svedeny do středu promítání – vzdálenější objekty se jeví menší, rovnoběžky se sbíhají. Podle toho, kolik souřadnicových os průmětna protíná, se rozlišují:
- Jednoúběžníková
- Dvouúběžníková
- Tříúběžníková
Pokud střed projekce je , a průmětna v rovině procházející bodem , pak transformační matice pro perspektivní projekci je:
Odkazy
[editovat | editovat zdroj]Literatura
[editovat | editovat zdroj]- ŽÁRA, Jiří; BENEŠ, Bedřich; SOCHOR, Jiří; FELKEL, Petr. Moderní počítačová grafika. [s.l.]: Computer Press, 2005. Dostupné online. ISBN 80-251-0454-0. Kapitola Transformace, s. 541 až 554. Archivováno 4. 1. 2023 na Wayback Machine.
Související články
[editovat | editovat zdroj]- Matice přechodu – převod souřadnic vektorů nebo bodů z jedné souřadné soustavy do druhé
Externí odkazy
[editovat | editovat zdroj]- Obrázky, zvuky či videa k tématu Matice přechodu na Wikimedia Commons