50 likes | 205 Views
Transformarea de instan ţiere. Un grafic este în general compus din mai multe obiecte grafice. Fiecare dintre acestea poate fi descris separat, într-un sistem propriu de coordonate numit sistem de coordonate obiect .
E N D
Transformarea de instanţiere Un grafic este în general compus din mai multe obiecte grafice. Fiecare dintre acestea poate fi descris separat, într-un sistem propriu de coordonate numit sistem de coordonate obiect. În scopul utilizării descrierii obiectului în construirea unui ansamblu grafic, asupra obiectului trebuie să se aplice o transformare numită transformare de instanţiere. Descrierea obţinută prin instanţiere se numeşte instanţă şi este raportată la sistemul de coordonate al suprafeţei pe care se construieşte imaginea grafică. Transformarea de instanţiere este compusă, în general, din: - scalare - rotaţie - translaţie în ordinea indicată. Sunt posibile însă şi alte tipuri de transformări. Astfel, dacă axele sistemului de coordonatela care este raportată imaginea grafică au o orientare de simetrie diferită faţă de cea a axelor sistemului de coordonate obiect, transformarea de instanţiere va trebui să conţină şi oglindiri.
Transformarea de instanţiere Folosind diferite transformări de instanţiere, un obiect poate fi amplasat în diferite poziţii ale imaginii grafice, la diferite mărimi şi cu diferite orientări. Exemplu: Fie desenul unui romb descris într-un sistem de coordonate propriu. Coordonatele vârfurilor sunt: A(-30,0), B(0,40), C(30,0), D(0,-40). Presupunem că se doreşte afişarea rombului pe ecranul monitorului, în poziţia x=300, y=200, astfelîncât să se încadreze într-un pătrat cu latura de 100 de pixeli. Y B C X O A D
Transformarea de instanţiere Se observă că originea sistemului de coordonate obiect este situată în centrul desenului. Deci, vom scala desenul în raport cu originea propriului sistem de axe astfel încât să se încadreze într-un pătrat cu latura de 100 de unităţi, cu păstrarea proporţiilor (fără deformare). Laturile dreptunghiului de încadrare sunt de lungime egală cu 60 şi respectiv 80 de unităţi. Pentru ca desenul să se încadreze într-un pătrat cu latura de 100 de unităţi, se va aplica o scalare uniformă (pentru păstrarea proporţiilor) cu factorul s=100/80. Desenului astfel scalat trebuie să i se aplice o translaţie, astfel încât originea sistemului de coordonate obiect să se mute în poziţia x=300, y=200. O ultimă problemă este că axa OY a sistemului de coordonate ataşat ecranului este orientată în jos, în timp ce axa OY a sistemului de coordonate obiect este orientată în sus. De aceea, înainte de aplicarea translaţiei va trebui să se efectueze o transformare de oglindire faţă de axa OX.
Transformarea de instanţiere Observaţie: Datorită simetriei desenului din exemplul ales, nu este necesară o operaţie de oglindire. În cazul general, însă, o astfel de transformare va trebui efectuată. În concluzie, asupra fiecărui punct P(x,y) al desenului va trebui să se efectueze transformarea: