Extras din referat
Lucrarea Nr. 9
Transformari tridimensionale
Abstract. Lucrarea este un exemplu de transformare a unui cub 3D. Pentru aceasta trebuie definita mai întâi o clasa Matrice în care sunt definite metode pentru scalare, translatare si rotatie. Aceasta clasa nu trebuie sa lipseasca din program. Pe langa aceasta mai sunt definite clasele care creaza punctele, cubul si o clasa care extinde clasa java.awt.Applet pentru a vizualizarea cubului.
1 Transformari tridimensionale
Pentru cazul reprezentarilor tridimensionale (pe scurt 3D), matricea de reprezentare va avea dimensiunea 4x4 în coordonate omogene.
Prin transformarea de omogenizare a unui punct P(x, y), definit in coordonate 3D, se asociaza un punct (x, y, z, w) in coordonate omogene cu proprietatea ca doua cva-tuple reprezinta acelasi punct daca coordonatele specifice sunt proportionale. Reprezentarea standard a unui punct in coordonate omogene (x, z, y, w) este, pentru toate punctele cu w ¹ 0: (x/w, z/w, y/w, 1).
Principalele transformari pentru spatiul tridimensional sunt: translatia, rotatia.
1.1 Translatia
Translatia este transformarea ce deplaseaza toate punctele unui obiect cu un anumit deplasament fata de pozitia initiala.
Translatia tridimensionala a unui punct P(X, Y, Z) este data prin:
(1)
unde X, Y, Z sunt coordonatele punctului obtinut în urma translatiei.
1.2 Rotatia
Rotatia de un unghi 2 fata de origine conduce la pastrarea distantei obiectului fata de origine si modificarea coordonatelor în sensul pozitiv (trigonometric) pentru 2 > 0 sau în sensul orar, negativ, pentru 2 < 0.
Rotatia in spatiul tridimensional se descompune in maximum trei rotatii dupa fie-care axa a sistemului 3D. Conventia de semn (pozitiv) este pentru axa Z de la axa X catre axa Y, pentru axa Y de la axa Z catre axa X, pentru axa X de la axa Y catre axa Z.
Rotatia dupa fiecare axa este definita prin ecuatiile matriceale astfel:
-`rotatie în jurul axei X:
Preview document
Conținut arhivă zip
- Transformari Tridimensionale.doc