Administratie | Alimentatie | Arta cultura | Asistenta sociala | Astronomie |
Biologie | Chimie | Comunicare | Constructii | Cosmetica |
Desen | Diverse | Drept | Economie | Engleza |
Filozofie | Fizica | Franceza | Geografie | Germana |
Informatica | Istorie | Latina | Management | Marketing |
Matematica | Mecanica | Medicina | Pedagogie | Psihologie |
Romana | Stiinte politice | Transporturi | Turism |
Divizarea curbelor de forma libera
Divizarea recursiva a curbelor este o metoda de a obtine punctele prin care poate fi aproximata o curba parametrica si se poate aplica si pentru determinare intersectiei unei curbe parametrice cu un alt obiect (dreapta, curba, suprafata etc.). Se foloseste metoda injumatatiriilor succesive pana cand segmentele de curba ajung sa satisfaca un anumit criteriu dependent de aplicatie (segmentele de curba pot fi aproximate prin segmente de dreapta sau printr-un singur pixel).
Fie o curba parametrica cubica:
C(u) = U*M*G , unde
U = [u3 u2 u 1] cu 0 <= u <= 1;
M specifica curba
G este vectorul transpus al punctelor de control.
Curba este divizata recursiv in punctul de mijloc, u=0.5
Fie C1 si C2 cele 2 jumatati de curba rezultate din divizarea curbei C :
C1(u1) = C(u1/2) si C2(u2)= C(0.5 + u2/2)
Atunci avem:
C1(u1) = U * S1 * M * G
Dorim ca C1 sa aiba o forma similara cu C deci :
C1(u1) = U * M * G1
Obtinem :
U * S1 * M * G = U * M * G1 => G1 = M-1 * S1 * M * G
Notam H1 = M-1 * S1 * M si deci, G1 = H1 * G
H1 este matricea de decupare pentru prima jumatate a curbei. Ea permite calcularea coeficientilor geometrici ai primei jumatati de curba plecand de la coeficientii curbei originale.
Matricea H2, pentru a doua jumatate de curba, se obtine inlocund in ecuatia curbei originale pe u cu (1 + u2)/2.
C2(u2) = C((1 + u2)/2) = [u23 u22 u2 1] * S2 * M * G
=U * M * G2,
H2 = M-1 * S2 * M , G2 = H2 * G
Divizarea cubicelor Bezier (particularizare)
Calculam H1, H2 particularizand matricea M la matricea Bezier:
Stiind ca H1 = MB-1 * S1 * MB =>
H2 = MB-1 * S2 * MB =>
Fie P0, P1, P2, P3 punctele de control ale curbei originale si
G = [P0 P1 P2 P3] rezulta:
G1 = H1*G si G2 = H2*G, unde G1 si G2 sunt vectorii punctelor de control pentru prima jumatate si a 2-a jumatate a curbei :
G1 = [R0 R1 R2 R3] ;
Calculul punctelor de control pentru jumatatile curbei este alcatuit doar din adunari si impartiri la puteri ale lui doi.
Acelasi rezultat se obtine astfel:
Atunci :
pentru C1 : G1 = [P0 A D F]
pentru C2 : G2 = [F E C P3]
unde A este mijlocul segmentului P0-P1, B este mijlocul segmentului P1-P2, etc.
Divizarea cubicelor BSpline(particularizare)
Fie P0, P1, P2, . Pn punctele de control care determina curba si Ci (u) segmentul de curba definit de intervalul Pi-1, Pi, Pi+1, Pi+2. Se efectuaza divizarea fiecarui segment de curba Ci (u). Pentru acesta se inlocuieste M cu matricea de baza BSpline.
Un segment de curba Bspline cubica poate fi convertit intr-o curba Bezier cubica si apoi divizata curba Bezier (calculele sunt mai simple!)
Conversie BSpline - Bezier
Fie curba BSpline CS = U * MS * GS.
Vrem sa obtinem curba CB = U * MB * GB corespondenta.
Rezulta MS * GS = MB * GB => punctele de control pentru curba echivalenta Bezier
GB = MB-1 * MS * GS
Procedura de conversie poate fi aplicata oricarui alt tip de curba cubica.
Divizarea suprafetelor Bezier
Pentru a diviza o suprafata Bezier folosim rezultatele obtinute la divizarea curbelor. Divizarea se face recursiv, de fiecare data in punctul u=0.5, w=0.5.
Suprafata initiala, S, se divide in S1, S2, S3, S4 astfel:
Daca P este matricea punctelor de control pentru suprafata S, atunci, P1, P2, P3, P4, matricile punctelor de control pentru S1 , S2 , S3 , S4 se calculeaza astfel:
Pentru divizarea unui segment de suprafata B-spline bicubica se poate recurge la conversia sa intr-o suprafata Bezier bicubica.
Conversia de la bicubica BSpline la bicubica Bezier
Forma generala a unui petic bicubic (nu neaparat BSpline) este :
p(u,w) = U * M * S * MT * W
unde S este matricea punctelor de control care definesc peticul de suprafata.
Pentru bicubica Bezier:
p(u,w) = U * MB * SB * MBT * W
Impunand conditia:
M * S * MT = MB * SB * MBT rezulta
SB = MB-1 * M * G* [MB-1 * M]T , punctele de control care definesc aceeasi suprafata, dar ca suprafata Bezier
Notam A= MB-1 * M , deci
SB = A * G* AT;
Pentru bicubica Bspline, M este :
iar A rezulta:
Acest document nu se poate descarca
E posibil sa te intereseze alte documente despre:
|
Copyright © 2024 - Toate drepturile rezervate QReferat.com | Folositi documentele afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul document pe baza informatiilor de pe site. { Home } { Contact } { Termeni si conditii } |
Documente similare:
|
ComentariiCaracterizari
|
Cauta document |