Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Suprafete de forma libera

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Suprafete de forma libera"— Μεταγράφημα παρουσίασης:

1 Suprafete de forma libera
Definite prin: Translatia unui obiect 2D pe o traiectorie spatiala Puncte si alte conditii geometrice atasate punctelor Copyright © Prof. univ. dr. ing. Florica Moldoveanu

2 Suprafete de forma libera
Definite matematic prin ecuatii parametrice: avantaje: independenta de sistemul de coordonate aplicarea transf. 3D corespondenta directa cu conditiile geometrice prin care sunt definite umin<= u <=umax si wmin<= w <=wmax Copyright © Prof. univ. dr. ing. Florica Moldoveanu

3 Suprafete de rotatie p(u)=[ x1+u(x2-x1) y1+u(y2-y1) 0 1 ],
cu u  [0,1] S( u, φ ) =p( u )*R( φ ) = [ (x1+u(x2-x1).cos( φ )) (y1+u(y2-y1)) -(x1+u(x2-x1).sin( φ )) 1 ] cu u  [0,1] , φ  [0, 2П ] Copyright © Prof. univ. dr. ing. Florica Moldoveanu

4 Suprafete de rotatie Ecuatia parametrica a sferei:
Ecuatia semicercului de raza r centrat in origine Rotatia in jurul axei OX Ecuatia parametrica a sferei: S ( u , φ )= p( u )*Rx( φ ) = [ r*cos( u) r*sin( u)*cos( φ ) r*sin( u)*sin( φ ) 1 ] cu u  [0,П ] si φ  (0,2П ) Copyright © Prof. univ. dr. ing. Florica Moldoveanu

5 Suprafete de rotatie S( u, φ )= p(u)*Ry( φ )= [ x(u) y(u) 0 1] * Ry( φ ) = =[ (xc+r*cos(u))*cos( φ ) (yc+r*sin(u)) -(xc+r*cos(u)*sin( φ )) 1 ] cu u  [0,2П ] si φ  [0,2П ] Copyright © Prof. univ. dr. ing. Florica Moldoveanu

6 Suprafete de rotatie SB = P(u) * R(φ)
P(u) = U* MB * [ P0 P1 P2 P3]T , unde P0 ,P1 ,P2 ,P3 sunt cele 4 puncte de control MB este matricea de baza Bezier; SB = P(u) * R(φ) Copyright © Prof. univ. dr. ing. Florica Moldoveanu

7 Suprafete de translatie
Copyright © Prof. univ. dr. ing. Florica Moldoveanu

8 Suprafete de translatie
Translatia unui segment de dreapta p(u) = P1 + u ( P2 - P1) = [ (x1+u(x2-x1)) (y1+u(y2-y1)) (z1+u(z2-z1)) ] cu u  [0 , 1] S( u,t ) = p(u) * T( t ) , cu u  [0 , 1] si t  [0 , 1]; 0<= t <= 1 Copyright © Prof. univ. dr. ing. Florica Moldoveanu

9 Suprafete de translatie
Copyright © Prof. univ. dr. ing. Florica Moldoveanu

10 Suprafete de interpolare/aproximare
Ecuatia unui “petic” de suprafata: cu u1 <= u <=u2 si w1 <= w <= w2 Un dreptunghi este un petic de suprafata plana: X(u,w) =P0.x + u(P2.x – P0.x) Y(u,w)= P0.y + w(P1.y – P0.y) <= u,w <=1 Z(u,w) = 0 X(u,w) =a + u(b – a) Y(u,w)= c + w(d-c) <= u,w <=1 Z(u,w) = 0 Punctele supraf se obtin prin interpolare biliniara. Copyright © Prof. univ. dr. ing. Florica Moldoveanu

11 Suprafata biliniara Este definita prin patru puncte situate arbitrar in spatiu, care se asociaza colturilor patratului unitate in spatiul parametric (u,w): Ecuatia parametrica este: P0(0,0,1), P1(1,1,1), P2(1,0,0), P3(0,1,0) Copyright © Prof. univ. dr. ing. Florica Moldoveanu

12 Petice bicubice Un petic bicubic este compus din 2 familii de curbe cubice (Hermite, Bezier, B-Spline) ortogonale in spatiul parametric. O curba cubica este definita prin ecuatia parametrica : P(u) =a3*u3+a2*u2+a1*u+a0; Peticul bicubic este definit prin ecuatia: numita si forma algebrica 0<= i, j<=3 sau, matricial: p(u,w)= U * A * WT , unde : U= [ u3 u2 u 1 ]; W= [ w3 w2 w 1 ]; Copyright © Prof. univ. dr. ing. Florica Moldoveanu

13 Peticul bicubic Hermite
Definit prin: coordonatele colturilor suprafetei vectorii tangenti in cele 4 colturi vectorii de rasucire P00= p(0,0); P01= p(0,1); P10= p(1,0); P11= p(1,1); Puw00, Puw01,Puw10,Puw11 , vectorii de rasucire Copyright © Prof. univ. dr. ing. Florica Moldoveanu

14 Curba Hermite: F(u) = U*MH p(u) = U*MH*GH
p(u) = [ F1(u) F2(u) F3(u) F4(u) ] * [ P0 P1 P0u P1u ]T F(u) = U*MH p(u) = U*MH*GH Copyright © Prof. univ. dr. ing. Florica Moldoveanu

15 p(u,w) = U * MH * SH * MHT * WT
Pentru peticele Hermite, conditiile geomtrice sunt cuprinse intr-o matrice, SH, alcatuita astfel : Ecuatia geometrica a peticului Hermite:  p(u,w) = [ F1(u) F2(u) F3(u) F4(u) ] SH [ F1(w) F2(w) F3(w) F4(w) ]T p(u,w) = F(u) * SH * F(w) p(u,w) = U * MH * SH * MHT * WT p(u,w)= U * A * WT deci, A = MH * SH * MHT Copyright © Prof. univ. dr. ing. Florica Moldoveanu

16 Peticul Ferguson: Conversia intre forma algebrica si cea geometrica
p(u,w)= U * A * WT deci, A = MH * SH * MHT Dezavantajul peticelor Hermite  Peticul Ferguson: p00uw = p01uw = p10uw = p11uw = 0 Copyright © Prof. univ. dr. ing. Florica Moldoveanu

17 Peticul de suprafata definit prin 16 puncte
p(u,w) = U*N*P*NT*WT , in care U = [ u3 u2 u 1 ] W = [ w3 w2 w 1 ] Copyright © Prof. univ. dr. ing. Florica Moldoveanu

18 Suprafete Bezier p(u) = U * MB * GB
Peticul Bezier definit prin (m+1 x n+1) puncte de control : 0<= u, w <= 1 Curba Bezier definita prin n+1 puncte: 0<= u <= 1 Cubica Bezier are ecuatia: p(u) = (1-u)3 * P0 + 3 * u * (1-u)2 * P1 + 3 * u * (1-u) * P3 + u3 * P3 p(u) = [ F1(u) F2(u) F3(u) F4(u) ] * [ P0 P1 P2 P3 ]T p(u) = U * MB * GB Copyright © Prof. univ. dr. ing. Florica Moldoveanu

19 p(u,w) = U * MB * SB * MBT * WT
Peticul bicubic Bezier Definit prin 4x4 puncte de control : p(u,w) = U * MB * SB * MBT * WT p(u,w) = [ (1-u)3 3u(1-u)2 3u2(1-u) u3 ] * SB * [ (1-w)3 3w(1-w)2 3w(1-w) w3 ]T Copyright © Prof. univ. dr. ing. Florica Moldoveanu

20 Peticul Bezier are urmatoarele avantaje :
este definit doar prin puncte se pot defini colturile suprafetei se pot defini tangentele la curbele marginitoare ale suprafetei, prin alegerea punctelor de control care definesc frontierele proprietatea de inchidere convexa ( peticul este continut in poliedrul convex determinat de punctele de control) se poate actiona interactiv asupra formei sale prin deplasarea punctelor de control calculele necesare pentru divizarea suprafetei sunt simple are proprietatea de invarianta afina are forma poligonului de control Copyright © Prof. univ. dr. ing. Florica Moldoveanu

21 Compunerea peticelor Bezier
Se poate asigura continuitatea : de ordin 0: Qi3 = Ri0 , 0<= i <= 3 de ordin 1: Qi3 - Qi2 = k ( Ri1 - Ri0 ), 0<= i <= 3 unde k este o constanta pozitiva. Copyright © Prof. univ. dr. ing. Florica Moldoveanu

22 Suprafete B-spline Pi = Uk * MSk * Pk, 1<= i <= n+2-k
pntru k=3  curba B-spline de ordinul 2 k=4 curba B-spline de ordinul 3 Pi = Uk * MSk * Pk, 1<= i <= n+2-k Pk = { Pj | i-1 <= j <= i+k-2 } pij(u,w) = Uk * Mk * Pkl * MlT * WlT 1 <= i < m+2-k , 1 <= j < n+2-l si u, w  [0,1] Pkl = { Pab | i-1 <= a <= i+k-2; j-1 <= b <= j+l-2} Suprafete Bspline bipatratice Copyright © Prof. univ. dr. ing. Florica Moldoveanu

23 Suprafete Nurbs

24 Industria constructoare de avioane Industria constructoare de nave
Suprafete riglate Industria constructoare de avioane Industria constructoare de nave - definita prin 2 curbe de forma libera: p(u,w) = g(u) + w(h(u) – g(u)) cu u, w  [0,1] - definita ca un petic de suprafata Hermite p(u,w) = U * MH * GR * MHT * WT Cazuri speciale de suprafete riglate sunt : planul, cilindrul, conul. Copyright © Prof. univ. dr. ing. Florica Moldoveanu

25 definita ca un petic de suprafata Hermite
Suprafete cilindrice O suprafata cilindrica este definita printr-o curba si un vector. Suprafata se obtine prin translatia vectorului pe curba. definita ca un petic de suprafata Hermite p(u,w) = U * MH * GC * MHT * WT p(u,w) = g(u) + d * w cu u,w  [0,1] Copyright © Prof. univ. dr. ing. Florica Moldoveanu

26 Vizualizarea suprafetelor de forma libera
afisare wireframe : suprafata este aproximata prin doua familii de curbe ortogonale in spatiul parametric (curbe de u=const si curbe de w=const). afisare prin fete opace : suprafata este aproximata printr-o retea de fatete conectate prin varfuri ; Varfurile sunt puncte de pe suprafata, S(ui, wj) Fiecare fata este un patrulater care conecteaza 4 puncte vecine de pe suprafata Suprafata este afisata aplicand un algoritm de eliminare a partilor nevizibile Deoarece fetele nu sunt plane, pentru o mai buna aproximare a suprafetei, se poate recurge la: triunghiularizarea fetelor; divizarea fetelor pana la obtinerea de fete plane fete care se proiecteaza intr-un singur pixel; Copyright © Prof. univ. dr. ing. Florica Moldoveanu

27 Algoritm de vizualizare petic Bezier, prin divizarea suprafetei
pana la nivel de petic care se proiecteaza intr-un singur pixel Volumul incadrator al peticului: paralelipiped cu fetele paralele cu planele principale ale sistemului de coordonate 3D. Varfurile de minim si de maxim ale acestui paralelipiped: minim respectiv maxim dintre coordonatele celor 16 puncte de control. pentru fiecare pixel p al imaginii afisareBezier(S,p); // S fiind matricea punctelor de control Copyright © Prof. univ. dr. ing. Florica Moldoveanu

28 void afisareBezier(supraf S,Pixel p)
{*calcul volum incadrator al lui S; *proiectie volum incadrator; // proiectia se va numi PS daca (PS nu intersecteaza suprafata pixelului p) atunci return; daca (PS este inclusa in supraf pixelului p ) atunci { *se determina punctul suprafetei care se proiecteaza in pixel, ca medie aritmetica a celor 4 colturi ale peticului Bezier ; *se calculeaza o normala in acel punct, si o culoare folosind normala respectiva *se afiseaza pixelul in culoarea determinata; return ; } *divizeaza suprafata S in S1, S2, S3, S4 ; afisareBezier(S1,p); afisareBezier(S2,p); afisareBezier(S3,p); afisareBezier(S4,p); Copyright © Prof. univ. dr. ing. Florica Moldoveanu

29 Vizualizarea bazata pe descompunerea suprafetei pana la nivel de petice plane
Divizarea unei suprafete poate fi: uniforma neuniforma. Uniforma: numarul de divizari este acelasi pentru intreg peticul Neuniforma (adaptiva): divizarea unui sub-petic se opreste daca satisface criteriul de planeitate impus - mai eficienta - defecte la frontiera a doua sub-petice cu numar diferit de divizari Copyright © Prof. univ. dr. ing. Florica Moldoveanu

30 Algoritmul Lane – Carpenter
Efectueaza o divizare adaptiva a suprafetei Imbina afisarea cu divizarea, evitand memorarea tuturor fetelor rezultate din divizarea recursiva a suprafetei LP – lista peticelor (fetelor) LPA - lista peticelor active (proiectiilelor sunt intersectate de linia curenta) LPG - lista peticelor folosite pentru generarea liniei imagine curenta Copyright © Prof. univ. dr. ing. Florica Moldoveanu

31 pentru fiecare linie imagine {
initilizare LP; initilizare LPA; pentru fiecare linie imagine { actualizare LPA (adauga petice pt care y-linie imagine >= min(y-proiectie colturi petic ) ; pentru fiecare (Pi din LPA) { daca (Pi "este plan") atunci introduce Pi in LPG; altfel { divizare Pi in Pij cu i=1,2 si j=1,2; pentru fiecare Pij daca (Pij este intersectat de linia imagine curenta) introducem Pij in LPA; introducem Pij in LP; } genereaza linia imagine curenta folosind peticele din LPG; Copyright © Prof. univ. dr. ing. Florica Moldoveanu

32 Criterii de planeitate pentru un petic Bezier
Coplanaritatea varfurilor poliedrului caracteristic al peticului, cu o anumita toleranta - peticul Bezier este inclus in poliedrul convex al punctelor de control – 2) Coplanaritatea colturilor peticului si linearitatea marginilor peticului. Coplanaritatea este data de conditia Verificarea liniaritatii se face separat pe axele x, y, z. Daca d<e frontiera este liniara Copyright © Prof. univ. dr. ing. Florica Moldoveanu


Κατέβασμα ppt "Suprafete de forma libera"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google