Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ppbg:laboratoare:03 [2024/10/02 09:54]
andrei.lambru
ppbg:laboratoare:03 [2024/10/24 12:36] (current)
andrei.lambru
Line 3: Line 3:
 <note important>​ <note important>​
 Pentru rezolvarea cerințelor din acest laborator, aveți nevoie de codul utilizat în rezolvarea cerințelor din cadrul laboratorului 2. În laboratoarele 3 și 4, vom reutiliza acest cod. În situatia în care nu ați rezolvat [[:​ppbg:​laboratoare:​02|laboratorul 2]], va trebui sa îl realizați mai întâi pe el și ulterior să reveniți la cerințele celui curent. Pentru rezolvarea cerințelor din acest laborator, aveți nevoie de codul utilizat în rezolvarea cerințelor din cadrul laboratorului 2. În laboratoarele 3 și 4, vom reutiliza acest cod. În situatia în care nu ați rezolvat [[:​ppbg:​laboratoare:​02|laboratorul 2]], va trebui sa îl realizați mai întâi pe el și ulterior să reveniți la cerințele celui curent.
 +</​note>​
  
 +<note tip>
 **Reamintire!!!** Puteți prezenta rezolvările cerințelor de până la 2 laboratoare,​ în fiecare săptămână. De exemplu, puteți prezenta laboratorul curent și pe cel din săptămâna anterioară,​ în totalitate sau parțial, inclusiv punctajul pentru cerința bonus :) . **Reamintire!!!** Puteți prezenta rezolvările cerințelor de până la 2 laboratoare,​ în fiecare săptămână. De exemplu, puteți prezenta laboratorul curent și pe cel din săptămâna anterioară,​ în totalitate sau parțial, inclusiv punctajul pentru cerința bonus :) .
 </​note>​ </​note>​
Line 15: Line 17:
 ==== Transformarea de translație (deplasare) ==== ==== Transformarea de translație (deplasare) ====
  
-Transformarea cea mai de bază este cea utilizată pentru ​modificarea coordonatelor ​unui vârf. Acest proces se realizeaza ​prin deplasarea coordonatelor unui vârf cu un anumit vector de deplasare și poartă numele de translație sau translatare.+Transformarea cea mai de bază este cea utilizată pentru ​deplasarea ​unui vârf de la poziția inițială, la o altă poziție în spațiu. Acest proces se realizează ​prin deplasarea coordonatelor unui vârf cu un anumit vector de deplasare și poartă numele de translație sau translatare.
  
 În imaginea de mai jos, în partea dreaptă, se poate observa rezultatul translației pătratului din partea stângă cu vectorul de translație $\vec{t}=\begin{bmatrix} În imaginea de mai jos, în partea dreaptă, se poate observa rezultatul translației pătratului din partea stângă cu vectorul de translație $\vec{t}=\begin{bmatrix}
Line 50: Line 52:
 ==== Transformarea de rotație ==== ==== Transformarea de rotație ====
  
-Ultima transformare des intalnită în grafica pe calculator este rotația unui model. Pentru realizarea acestui proces, pentru spații 2D, vom utiliza un aparat matematic care se aplică în felul următor: //rotația unui triunghi se realizeaza prin rotația tuturor vârfurilor,​ în sens trigonometric,​ față de centrul ​axelor de coordonate//​.+Ultima transformare des intalnită în grafica pe calculator este rotația unui model. Pentru realizarea acestui proces, pentru spații 2D, vom utiliza un aparat matematic care se aplică în felul următor: //rotația unui triunghi se realizeaza prin rotația tuturor vârfurilor,​ în sens trigonometric,​ față de originea ​axelor de coordonate//​.
  
 Un exemplu pentru această transformare se poate vedea în imaginea de mai jos, unde pătratul este rotit cu 45 de grade, în sens trigonometric,​ față de punctul v0, care este în originea axelor de coordonate. Un exemplu pentru această transformare se poate vedea în imaginea de mai jos, unde pătratul este rotit cu 45 de grade, în sens trigonometric,​ față de punctul v0, care este în originea axelor de coordonate.
Line 113: Line 115:
 ===== Compunerea transformărilor ===== ===== Compunerea transformărilor =====
  
-Transformarile de bază, prezentate mai sus, nu sunt suficient de flexibile pentru a obține orice tip de animații prin utilizarea individuală a unui anume tip. Un exemplu este rotația față de //propriul centru// al unui pătrat de latură 1 ce a fost definit cu colțul stânga-jos în originea axelor de coordonate. O aplicare directă a transformării de rotație rezultă în rotația pătratului față de colțul stânga-jos. Din acest motiv, este necesar ​sa obținem rezultatul dorit prin compunerea mai multor transformări. Lanțul de transformări este vizibil în imaginea de mai jos.+Transformarile de bază, prezentate mai sus, nu sunt suficient de flexibile pentru a obține orice tip de animații prin utilizarea individuală a unui anume tip. Un exemplu este rotația față de //propriul centru// al unui pătrat de latură 1 ce a fost definit cu colțul stânga-jos în originea axelor de coordonate. O aplicare directă a transformării de rotație rezultă în rotația pătratului față de colțul stânga-jos. Din acest motiv, este necesar ​să obținem rezultatul dorit prin compunerea mai multor transformări. Lanțul de transformări este vizibil în imaginea de mai jos.
  
 {{ :​ppbg:​laboratoare:​rotation3.png?​600 |}} {{ :​ppbg:​laboratoare:​rotation3.png?​600 |}}
  
 Transformarea compusă este creată după cum urmează: Transformarea compusă este creată după cum urmează:
-  - Primul pas este translația pătratului,​ astfel încat centrul lui să se afle în originea axelor de coordonate +  - Primul pas este translația pătratului,​ astfel încat centrul lui să se afle în originea axelor de coordonate; 
-  - În acest moment, putem roti vârfurile pătratului față de centrul lui +  - În acest moment, putem roti vârfurile pătratului față de centrul lui; 
-  - După rotație, pătratul rămâne cu centrul în originea axelor de coordonate, astfel că aplicăm transformarea inversă de la punctul 1 pentru a readuce pătratul cu centrul în poziția lui originală +  - După rotație, pătratul rămâne cu centrul în originea axelor de coordonate, astfel că aplicăm transformarea inversă de la punctul 1 pentru a readuce pătratul cu centrul în poziția lui originală. 
 +.
 <note tip> <note tip>
 Același proces se poate aplica și pentru transformarea de modificare a scării, pentru a face modificarea de scară din centrul pătratului :) . Același proces se poate aplica și pentru transformarea de modificare a scării, pentru a face modificarea de scară din centrul pătratului :) .
Line 135: Line 137:
 $$ $$
  
-Pentru a simplifica și optimiza procesul de calcul, se folosește forma matriceală a transformărilor. Pentru acest lucru, ​vectoriul ​pentru care se aplică transformarea se scrie, de asemenea, în formă matriceală. În această situație, avem 2 posibilități:​+Pentru a simplifica și optimiza procesul de calcul, se folosește forma matriceală a transformărilor. Pentru acest lucru, ​vectorul ​pentru care se aplică transformarea se scrie, de asemenea, în formă matriceală. În această situație, avem 2 posibilități:​
   * Vectorul se scrie sub forma unei matrici cu **o linie și mai multe coloane**, denumit //vector linie//.   * Vectorul se scrie sub forma unei matrici cu **o linie și mai multe coloane**, denumit //vector linie//.
   * Vectorul se scrie sub forma unei matrici cu **mai multe linii și o singură coloană**, denumit //vector coloană//.   * Vectorul se scrie sub forma unei matrici cu **mai multe linii și o singură coloană**, denumit //vector coloană//.
Line 363: Line 365:
  
 <note tip> <note tip>
-Observăm că, in situația în care utilizăm un vector coloană, ordinea de aplicare a transformărilor este **de la ultima matrice la prima**. În plus, vectorul pentru care se aplică lanțul de transformări este întotdeauna la final.+Observăm că, în situația în care utilizăm un vector coloană, ordinea de aplicare a transformărilor este **de la ultima matrice la prima**. În plus, vectorul pentru care se aplică lanțul de transformări este întotdeauna la final.
 </​note>​ </​note>​
  
ppbg/laboratoare/03.1727852067.txt.gz · Last modified: 2024/10/02 09:54 by andrei.lambru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0