Transcript
  • GRAFICA 3D

    Valentin Stoica

    UPB 2011-2012

  • Transformari primitive in coordonate omogene

    UPB 2011-2012

  • Compunerea transformarilor geometrice

    Compunerea mai multor tranformri elementare pentru obinerea unei transformri complexe se obine prin executarea succesiv a produsului fiecrei matrice de transformare cu matricea de reprezentare a punctului iniial sau rezultat dintr-o transformare precedent

    UPB 2011-2012

  • Compunerea transformarilor geometrice

    Obiectul iniial: un cub cu latura de dou uniti, amplasat cu centrul su n centrul sistemului de referin i laturile orientate n direciile axelor de coordonate + Scalare cu factorii de scar 2, 2, 2 + Rotaie cu un unghi de 30 grade n raport cu axa z + Translaie cu un vector de translaie cu componente 8,0,0 => un nou obiect cub, definit n acelai sistem de referin, dar cu alte dimensiuni i localizare

    UPB 2011-2012

  • Compunerea transformarilor geometrice

    Transformarea efectuat asupra cubului din figura de mai sus se obine prin aplicarea succesiv a trei transformri geometrice elementare (scalare, rotaie i translaie) asupra fiecrui punct (vrf) al cubului Pentru un vrf al cubului, reprezentat prin matricea coloan P, succesiunea de transformri este: Scalarea: P1 = S P Rotaia n raport cu axa z: P2 = RZ P1= RZ(S P)Translaia: P = T P2 = T(RZ(S P)) = (TRZS) P => P = TRZS P = M P

    UPB 2011-2012

  • Compunerea transformarilor geometrice

    M = TRZS P

    P(1,1,1,1) P(8.732, 3.732,1,1)

    UPB 2011-2012

  • Compunerea transformarilor geometrice

    Ordinea de compunere a matricelor de transformare este definitorie pentru rezultatul transformrii (produsul matricelor nu este comutativ)Convenia de reprezentare a punctelor n spaiu prin matrice coloan impune ordinea de nmulire numit postmultiplicare (sau multiplicare la dreapta) a matricelor de transformare:se nmulete matricea de transformare curent cu matricea transformrii urmtoare

    UPB 2011-2012

  • Compunerea transformarilor geometrice

    Convenia de reprezentare a punctelor n spaiu prin matrice coloan impune ordinea de nmulire numit postmultiplicare (sau multiplicare la dreapta) a matricelor de transformare:se nmulete matricea de transformare curent cu matricea transformrii urmtoare Ordinea de aplicare a transformrilor este de la dreapta la stnga din succesiunea de matrice ale unei compuneri:dac un punct se transform prin aplicarea succesiv a transformrilor definite prin matricele M1, M2,., Mn, matricea compus de transformare este M = Mn . M2 M1

    UPB 2011-2012

  • Compunerea transformarilor geometrice

    Convenia de reprezentare a punctelor n spaiu prin matrice linie impune ordinea de nmulire numit premultiplicare (sau multiplicare la stnga) a matricelor de transformare:se nmulete matricea de transformare urmtoare cu matricea transformrii curenteOrdinea de aplicare a transformrilor este de la stnga la dreapta din succesiunea de matrice ale unei compuneri:dac un punct se transform prin aplicarea succesiv a transformrilor definite prin matricele S1, S2,.Sn, matricea compus de transformare este S = S1 S2 . Sn

    UPB 2011-2012

  • Compunerea transformarilor geometrice

    Orice matrice de transformare elementar n convenia de reprezentare prin matrice linie a unui punct n spaiul tridimensional este transpusa matricei corespunztoare de transformare definite n convenia de reprezentare prin matrice coloan a punctului

    UPB 2011-2012

  • Exemple de compunere a transformarilor geometrice

    Rotaie complet specificat prin trei rotaii fa de axele sistemului de coordonate

    Transformarea complex a unui obiect prin combinarea mai multor transformri elementare (scalri, rotaii, translaii) Componenta de translaie total Componenta de rotaie i scalare total

    UPB 2011-2012

  • Compunerea transformarilor geometrice

    Proprieti importante ale transformrilor geometrice compuse:o transformare geometric compus reprezentat printr-o matrice de forma M conserv valoarea coordonatei w a unui puncto transformare geometric compus reprezentat printr-o matrice de forma M este o transformare liniar:liniile drepte i suprafeele plane sunt transformate n linii dreapte, respectiv suprafee planepentru transformarea unui obiect tridimensional este suficient s se transforme toate vrfurile acestuia i s se pstreze relaiile topologice ntre vrfurile transformate

    UPB 2011-2012

  • Transformari inverse

    Fiind dat o transformare a unui punct P ntr-un punct P definit printr-o matrice de transformare M, transformarea invers, de la punctul P la punctul P se obine prin nmulirea cu matricea invers, M 1:

    UPB 2011-2012

  • Transformari inverseMatricea de transformare M se obine printr-un produs de matrice de transformri elementareMatricea invers M1 se calculeaz prin produsul n ordine invers a inverselor matricelor elementare componente

    UPB 2011-2012

  • Transformari inverse

    UPB 2011-2012

  • Transformarea sistemelor de referintaTransformrile geometrice prezentate pot fi interpretate ca:transformri ale coordonatelor unei mulimi de puncte (vrfuri) ale obiectelor ntr-un anumit sistem de referin transformare de schimbare a sistemului de referin

    UPB 2011-2012

  • Transformarea sistemelor de referintaSe consider sistemul de referin Oxyz i un nou sistem de referin Oxyz, a crui origine O este determinat n sistemul Oxyz prin coordonatele x0,y0,z0 ale centrului O. Matricea de transformare care descrie poziionarea sistemului Oxyz relativ la sistemul de referin Oxyz este:

    UPB 2011-2012

  • Transformarea sistemelor de referintaFie un punct P definit prin coordonatele sale x,y,z n sistemul de referin Oxyz. Se demonstreaz c n sistemul de referin Oxyz acest punct (notat P) are coordonatele x,y,z, care se obin prin nmulirea matricei (care este inversa matricei M care definete poziionarea sistemului Oxyz n sistemul Oxyz) cu matricea P de reprezentare a punctului P n sistemul de coordonate iniial:

    Transformarea invers, a unui punct P(x,y,z) din sistemul de referin Oxyz n punctul P(x,y,z) din sistemul de referin Oxyz se obine prin nmulire cu matricea de transformare M:

    UPB 2011-2012

  • Transformarea sistemelor de referinta

    Exemplu: se consider un sistem de referin Oxyz i un alt sistem de referin Oxyz care are originea O(x0,y0,z0) i aceeai orientare a axelor de coordonate ca i sistemul Oxyz. Poziionarea sistemului de referin Oxyz relativ la sistemul Oxyz este definit de matricea de transformare M; poziionarea sistemului Oxyz relativ la sistemul Oxyz este definit de matricea de transformare invers M1:

    UPB 2011-2012

  • Transformarea sistemelor de referinta

    Un punct oarecare P(x,y,z) n sistemul de referin Oxyz, se transform n punctul P(x,y,z) n sistemul de referin Oxyz printr-o translaie cu (x0, y0, z0) deci:

    O(4,2,0) P(6,3,0) P(2,1,0)

    UPB 2011-2012

  • Transformarea sistemelor de referinta

    n concluzie, aplicarea unei transformri definite printr-o matrice M, asupra unei mulimi de puncte definite ntr-un sistem de referin Oxyz poate fi interpretat n mai multe moduri:Fiecare punct este modificat i capt o nou poziionare n sistemul de referin Oxyz, conform cu matricea de transformare M.Fiecare punct este transformat din sistemul de referin iniial Oxyz ntr-un nou sistem de referin, Oxyz, a crui poziie i orientare relativ la sistemul de referin Oxyz este descris de matricea M1. Fiecare punct este transformat din sistemul de referin iniial Oxyz ntr-un nou sistem de referin, Oxyz. Poziia i orientarea sistemului Oxyz relativ la sistemul de referin Oxyz este descris de matricea M.

    UPB 2011-2012

  • Rotatia fat de o ax paralel cu una din axele sistemului de referint

    Se consider o dreapt D paralel cu axa z a sistemului, care intersecteaz planul Oxy n punctul I(tx,ty,0)

    UPB 2011-2012

  • Rotatia fat de o ax paralel cu una din axele sistemului de referintTransformarea de rotaie a obiectelor fa de axa D nu poate fi realizat folosind matricea prezentata anterior (rotaia fa de o ax a sistemului de coordonate)se aplic mai nti tuturor punctelor o transformare ajuttoare, translaia cu T(tx,ty,0). Acest transformare poate fi intrepretat n dou moduri:ca o schimbare a sistemului de referin Oxyz n sistemul Oxyz , n care punctul I este transformat n punctul I(0,0,0), ca o modificare a poziiei tuturor punctelor din spaiu prin care punctul I este adus n originea sistemului de referin Oxyz

    UPB 2011-2012

  • Rotatia fat de o ax paralel cu una din axele sistemului de referintOperaiile se continu n noul sistem de referin Oxyz, n care dreapta D se suprapune peste axa z, deci se poate obine rotaia dorit cu un unghi folosind matricea de rotaie. Dup aceasta, se revine la sistemul de referin iniial Oxyz, printr-o transformare invers, T(tx, ty, 0). Rezult matricea compus de rotaie cu unghiul fa de o dreapt paralel cu axa z care interecteaz planul Oxy n punctul I(tx,ty,0):

    UPB 2011-2012

  • Rotatia fat de o ax paralel cu una din axele sistemului de referint Rotaia fa de o dreapt paralel ca axa z a sistemului de referin considernd transformarea sistemelor de referin

    UPB 2011-2012

  • Rotatia fat de o ax paralel cu una din axele sistemului de referintSe prezint aceleai transformri succesive necesare pentru realizarea rotaiei n raport cu o dreapt paralel cu axa z a sistemului, considernd c transformarea iniial T(tx,ty,0) transform toate punctele din sistemul de referin Oxyz astfel nct punctul I se suprapune peste originea O. Se remarc faptul c, n aceast situaie, este doar o diferen de interpretare, operaiile i rezultatul acestora fiind identic. Rotaia fa de o dreapt paralel ca axa z a sistemului de referin considernd transformarea punctelor.

    UPB 2011-2012

  • Scalarea fat de un punct oarecare n spatiu

    Matricea de scalare fa de un punct oarecare se poate deduce printr-o metod asemntoare celei prezentate anterior, prin compunerea a trei transformri elementare deja definite:1.Se execut o translaie cu T(-xf, -yf, -zf), prin care punctul fix F se suprapune peste originea sistemului de coordonate2. Se aplic o transformare de scalare cu matricea S(sx, sy, sz)3. Se efectueaz o translaie invers celei aplicate la punctul 1., deci cu matricea T(xf, yf, zf).

    UPB 2011-2012

  • Scalarea fat de un punct oarecare n spatiuMatricea de scalare cu factorii de scar (sx, sy, sz) fa de un punct fix din spaiu F(xf, yf, zf):

    UPB 2011-2012

  • Transformarea de modelare

    O scen virtual este compus dintr-un numr oarecare de obiecte tridimensionale amplasate n diferite poziii n scen. Tehnica de modelare a scenelor de dimensiuni mari (ca numr de obiecte sau ca volum ocupat de scen) se bazeaz pe amplasarea modelelor obiectelor tridimensionale n sistemul de referin universal al scenei virtuale. Fiecare obiect este modelat ntr-un sistem de referin local (numit i sistem de referin de modelare), prin alegerea celei mai convenabile origini i orientri a axelor de coordonate ale acestuia. De exemplu, un cub se modeleaz cel mai convenabil ntr-un sistem de referin ales cu centrul n centrul cubului i cu axele orientate paralel cu laturile cubului. Dac se presupune c latura cubului este egal cu 2 uniti, atunci coordonatele vrfurilor cubului sunt (1,1,1), (1,1,1), (1,1,1), (1,1,1), (1,1,1), (1,1,1), (1,1,1), (1,1,1).

    UPB 2011-2012cristina - Curs 5s

  • Transformarea de modelareModelul unui obiect, definit n sistemul de referin local, poate fi instaniat (introdus) n scena virtual printr-o transformare numit transformare de modelare (sau transformare de instaniere). Mai mult, reprezentarea ierarhic a scenelor virtuale prin grafuri aciclice direcionate permite instanierea de un numr oarecare de ori a fiecrui model, folosind matrice de transformare corespunztoare. Acesta este modul cel mai frecvent de modelare a scenelor virtuale, care are suport n formatele i limbajele de descriere a scenelor virtuale, cum este limbajul VRML.

    UPB 2011-2012

  • Transformarea de modelaren modelarea ierarhic a scenelor virtuale, operaia de baz este transformarea de modelare prin care toate punctele unui obiect (model tridimensional) sunt transformate din sistemul de referin local ntr-un alt sistem de referin, care poate fi sistemul de referin universal sau un alt sistem intermediar. Pentru nceput se consider cea mai simpl transformare de modelare, dintr-un sistem de referin local n sistemul de referin universal.n mod obinuit, prima transformare care se aplic modelului este transformarea de scalare cu o matrice de scalare S(sx,sy,sz), executat n sistemul de referin local (fa de originea acestuia), prin care obiectul este adus la dimensiunile dorite ale instanei respective.Poziia unei instane a obiectului n scen se definete printr-o matrice de transformare coninnd submatricea de rotaie R, care definete orientarea sistemului de referin local Oxyz fa de sistemul de referin universal Oxyz (al scenei virtuale) i submatricea de translaie T, care definete poziia originii O(x0,y0,z0) a sistemului de referin local n sistemul universal. Submatricea de rotaie R poate fi specificat fie prin cosinuii directori (c11, c12, c13), (c21, c22, c23), (c31, c32, c33) ai axelor sistemului local fa de sistemul de referin universal, fie printr-o succesiune de rotaii fa de axele de coordonate ale sistemului de referin local:

    UPB 2011-2012

  • Transformarea de modelare

    sau

    Rezult matricea de transformare de modelare (instaniere):

    Un punct P al obiectului n sistemul de referin model este transformat n punctul PI n sistemul de referin universal prin instanierea:

    UPB 2011-2012

  • Sisteme de vizualizare Sistem de vizualizare o colecie de sisteme de referin, convenii de reprezentare i relaii (matriceale) de transformare care permit executarea unei succesiuni de transformri avnd ca efect punerea n coresponden (mapping) a punctelor din sistemul de referin de modelare (modelling coordinate space) cu puncte ale suprafeei de vizualizare (view surface).

    UPB 2011-2012

  • Sisteme de vizualizarentr-un sistem de vizualizare, generarea imaginii scenei virtuale este un proces complex care poate fi parcurs prin reprezentri n mai multe sisteme de referin, fiecare sistem de referin facilitnd specificarea i executarea anumitor operaii:

    UPB 2011-2012

  • Sisteme de vizualizareObiectele tridimensionale componente ale scenei sunt modelate i reprezentate n sisteme de referin locale (sau de modelare), care au originea i orientarea alese cel mai convenabil pentru reprezentarea obiectelor respectivePentru construirea scenei, obiectele specificate n sistemul de referin de modelare sunt instaniate prin aplicarea unei succesiuni de transformri geometrice, care constitue transformarea de modelarePrin transformarea de modelare se obine descrierea obiectelor ntr-un sistem de referin unic al scenei virtuale, numit sistemul de referin universaln sistemul de referin universal mai sunt definite i alte elemente necesare redrii realiste a scenelor, cum sunt sursele de lumin sau traiectoriile obiectelor mobile n scen.

    UPB 2011-2012

  • Sisteme de vizualizaren sistemul de referin universal se definete un sistem de referin de observare, care specific punctul i direcia din care este privit scena. Imaginea care se red pe display depinde de punctul i direcia din care este observat scena, deci de felul n care este definit sistemul de referin de observare. Transformarea obiectelor din sistemul de referin universal n sistemul de referin de observare este numit transformare de observare (sau de vizualizare).

    UPB 2011-2012

  • Sisteme de vizualizaren sistemul de referin de observare se poate face o analogie simpl cu modul n care este privit o scen real prin ochiul uman sau printr-un aparat fotografic (camer): poziia i orientarea sistemului de referin de observare corespund poziiei i orientrii ochiului sau camerei ntr-o scen real. Dintr-un punct de observare dat, numai o parte a scenei poate fi vzut, restul aflndu-se n spatele sau n prile laterale ale direciei de observare: partea vizibil din scen (real sau virtual) este definit ca volum de vizualizare, care, n general, este o piramid (sau un trunchi de piramid) cu centrul n punctul de observare i cu direcia dat de direcia de observare. n redarea scenelor, deschiderea unghiular a piramidei de vizualizare definete cmpul de vizualizare (field of view), care este o caracteristic important a sistemelor grafice.

    UPB 2011-2012

  • Sisteme de vizualizareMajoritatea sistemelor grafice afieaz imaginile pe o suprafa plan a unui dispozitiv de afiare (display) astfel c n succesiunea operaiilor de vizualizare a obiectelor sau a scenelor tridimensionale, este necesar introducerea unei proiecii, care convertete spaiul tridimensional ntr-o reprezentare bidimensional. n general, proieciile transform spaiul Rn n spaiul Rm, unde m < n Modul n care se realizeaz proiecia obiectelor tridimensionale se definete n sistemul de referin de observare prin mai muli parametri, dintre care cei mai importani sunt: tipul proieciei planul de vizualizare. Intersecia dintre planul de vizualizare i piramida de vizualizare definete o regiune plan numit fereastr de vizualizare (view plane window), n care sunt reprezentate toate imaginile bidimensionale ale obiectelor (sau prilor de obiecte) vizibile din scen.

    UPB 2011-2012

  • Sisteme de vizualizaren majoritatea sistemelor de vizualizare, din motive de eficien i precizie a calculelor (care sunt explicate n continuare), transformarea de proiecie se execut n dou etape: o transformare de normalizare, care este o schimbare a sistemului de referin de la sistemul de referin de observare la sistemul de referin normalizat. Volumul de vizualizare definit n sistemul de referin de observare este transformat, n sistemul de referin normalizat, ntr-un volum canonic (n general, un paralelipiped dreptunghic). n sistemul de referin normalizat se execut decuparea obiectelor (clipping), astfel nct obiectele sau prile din obiecte care se afl n afara volumului de vizualizare (volumul canonic) sunt eliminate (ignorate pentru operaiile urmtoare de redare, nu terse din scen).

    UPB 2011-2012

  • Sisteme de vizualizareUrmtoarea transformare geometric este transformarea din sistemul normalizat n sistemul de referin ecran tridimensional, prin care fereastra definit n planul de vizualizare este transformat ntr-o regiune corespunztoare zonei de afiare pe display, numit poart (viewport), iar coordonata z se pstreaz nemodificat.n sistemul de referin ecran 3D se calculeaz coordonatele tridimensionale ale punctelor, din coordonatele omogene, prin mprirea cu w, dup care se execut transformarea de rastru.Transformarea de rastru calculeaz mulimea pixelilor care aparin unui segment sau poligon dat prin coordonatele vrfurilor:spaiul bidimensional continuu al porii de afiare este convertit n spaiul bidimensional discret al imaginii. n general, concomitent cu transformarea de rastru sunt executate i alte operaii: eliminarea suprafeelor ascunse, umbrirea, texturarea.

    UPB 2011-2012


Top Related