Grafické transformace

Grafické transformace jsou transformace používané při přípravě scény. Transformace jsou aplikovány na bod. 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 .

Homogenní souřadnice

Homogenní souřadnice umožňují reprezentovat veškeré grafické operace jako násobení matic. Rotaci a Scaling 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řadice 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“, t.j. 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. T.j. .

Transformační matice pro posun:

Shear

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í t.j. rovinu procházející 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:

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.