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

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

Rotace (otočení)

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)

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í)

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í)

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í

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

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í)

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í

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í

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

Literatura

  • ŽÁ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

Externí odkazy