Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
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
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.