QReferate - referate pentru educatia ta.
Referatele noastre - sursa ta de inspiratie! Referate oferite gratuit, lucrari si proiecte cu imagini si grafice. Fiecare referat, proiect 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 » Referate 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 = MB1 * S1 * MB =>

H2 = MB1 * 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 referat nu se poate descarca

E posibil sa te intereseze alte referate despre:


Copyright © 2020 - Toate drepturile rezervate QReferat.ro Folositi referatele, proiectele sau lucrarile afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul referat pe baza referatelor de pe site.
{ Home } { Contact } { Termeni si conditii }