Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Trojrozmerné (3D) transformácie sú základnými operáciami v počítačovej grafike, ktoré nám umožňujú manipulovať s objektmi vo virtuálnom 3D priestore. Tieto transformácie sa používajú na:
* Polohy a Orient Objects: Pohybujte, otáčajte a mierky objektov vytvorte realistické scény.
* Vytvorte animácie: Uplatňovaním transformácií v priebehu času môžeme animovať objekty, vďaka čomu sa pohybujú a interagujú vo virtuálnom svete.
* Upravte pohľady na fotoaparát: Upravte perspektívu, z ktorej je scéna prezeraná.
Tu je zrútenie bežných 3D transformácií:
1. Preklad:
* Definícia: Posúva objekt pozdĺž osí x, y a z.
* maticová reprezentácia:
`` `
| 1 0 0 tx |
| 0 1 0 ty |
| 0 0 1 TZ |
| 0 0 0 1 |
`` `
* TX, TY, TZ predstavuje množstvá prekladu v každej osi.
2. Rotácia:
* Definícia: Otáča predmet okolo osi.
* maticová reprezentácia:
* rotácia okolo osi x:
`` `
| 1 0 0 0 |
| 0 cos (9) -Sin (9) 0 |
| 0 sin (9) cos (θ) 0 |
| 0 0 0 1 |
`` `
* rotácia okolo osi y:
`` `
| cos (9) 0 sin (θ) 0 |
| 0 1 0 0 |
| -Sin (9) 0 cos (9) 0 |
| 0 0 0 1 |
`` `
* rotácia okolo osi Z:
`` `
| cos (9) -Sin (9) 0 0 |
| Sin (9) cos (9) 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |
`` `
* 9 predstavuje uhol rotácie.
3. Škálovanie:
* Definícia: Mení veľkosť objektu pozdĺž osí x, y a z.
* maticová reprezentácia:
`` `
| SX 0 0 0 |
| 0 SY 0 0 |
| 0 0 SZ 0 |
| 0 0 0 1 |
`` `
* SX, SY, SZ predstavujú faktory škálovania v každej osi.
4. Strih:
* Definícia: Znižuje tvar objektu posunutím jednej strany pozdĺž danej osi.
* maticová reprezentácia:
* strih pozdĺž osi x:
`` `
| 1 SHX 0 0 |
| 0 1 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |
`` `
* strih pozdĺž osi y:
`` `
| 1 0 plaché 0 |
| 0 1 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |
`` `
* SHX, plachý predstavujú šmykové faktory pozdĺž každej osi.
5. Odraz:
* Definícia: Prevráti objekt cez rovinu (napr. Zrkadlo).
* maticová reprezentácia:
* Odraz cez os x:
`` `
| 1 0 0 0 |
| 0 -1 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |
`` `
* Odraz cez os y:
`` `
| -1 0 0 0 |
| 0 1 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |
`` `
* Odraz v osi Z:
`` `
| 1 0 0 0 |
| 0 1 0 0 |
| 0 0 -1 0 |
| 0 0 0 1 |
`` `
Kombinácia transformácií:
* Transformácie možno kombinovať vynásobením ich matíc v požadovanom poradí. To umožňuje zložité manipulácie s objektmi.
Príklad:
Aby sme otočili objekt 45 stupňov okolo osi Z a potom ho preložili 5 jednotiek pozdĺž osi X, vykonali by sme nasledujúce operácie:
1. Rotácia: Vynásobte súradnice objektu pomocou z-rotačnej matice (9 =45 stupňov).
2. preklad: Vynásobte výsledok kroku 1 translačnou maticou (tx =5, ty =0, tz =0).
Konečné súradnice budú predstavovať objekt po použití obidvoch transformácií.
Pochopenie týchto transformácií je rozhodujúce pre manipuláciu s objektmi v 3D grafike, čo umožňuje vytváranie realistických a dynamických virtuálnych svetov.