QReferate - referate pentru educatia ta.
Cercetarile noastre - sursa ta de inspiratie! Te ajutam gratuit, documente cu imagini si grafice. Fiecare document sau comentariu il poti downloada rapid si il poti folosi pentru temele tale de acasa.



AdministratieAlimentatieArta culturaAsistenta socialaAstronomie
BiologieChimieComunicareConstructiiCosmetica
DesenDiverseDreptEconomieEngleza
FilozofieFizicaFrancezaGeografieGermana
InformaticaIstorieLatinaManagementMarketing
MatematicaMecanicaMedicinaPedagogiePsihologie
RomanaStiinte politiceTransporturiTurism
Esti aici: Qreferat » Documente matematica

Divizarea curbelor de forma libera



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:


Nu se poate descarca referatul
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 }