Sunteți pe pagina 1din 36

CURBE DE FORMA

LIBERA
Prof. univ. dr. ing. Florica Moldoveanu

Utilizari
Pentru forme neconvenionale:
care nu sunt cunoscute prin reprezentari din geometria
analitica (ec. cerc, elipsa, s.a.)
desen artistic,
arhitectura,
sisteme CAD/CAM,
caractere de text (fonturi),
traiectorii oarecare n spaiu, etc.

2
SPG Curbe de forma libera

Cum sunt definite?


Prin puncte din plan (curbe 2D) sau din spaiu
(curbe 3D)
In unele cazuri se mai dau tangente n punctele
respective

2 tipuri de curbe de forma libera:


De interpolare: trec prin toate punctele date
De aproximare: punctele date controleaza forma
curbei

3
SPG Curbe de forma libera

Cum sunt modelate


matematic?
Ec. explicite? y = f(x)
NU
puncte multiple: la o val a lui x mai multe valori ale lui y;
Ec. implicite? f(x,y,z) = 0?
NU
punctele de pe curbele 3D de forma libera pot sa nu fie situate n acelasi plan
nu reflecta relatia dintre forma curbei si punctele de control ale curbei
Curbele de forma libera sunt modelate matematic prin ecuatii parametrice.

4
SPG Curbe de forma libera

Ecuatiile parametrice ale unei curbe de forma libera

Reprezentarea vectoriala

Forma algebrica vectoriala

a0, a1, a2 , a3 - vectori de 2 sau 3 componente

aix, aiy, aiz coeficientii algebrici ai


curbei

5
SPG Curbe de forma libera

Prin ce se deosebesc
diferitele tipuri de curbe
de forma libera?

Prin condiiile geometrice pe care le satisfac (prin care sunt definite).

Forma algebric nu evidentiaza diferenele dintre diferite tipuri de


curbe de forma libera:

Reprezentarea matematic prin forma geometric pune n eviden


caracteristicile fiecarui tip de curba.

6
SPG Curbe de forma libera

Curbe Hermite (1)


Conditiile geometrice impuse unei curbe Hermite:
punctele extreme si tangentele in punctele extreme

Forma algebrica:

7
SPG Curbe de forma libera

Curbe Hermite(2)

Se obtin expresiile coeficientilor algebrici,


in functie de conditiile geometrice

a0, a1,a2, a3,

Se inlocuiesc coeficientii algebrici in forma algebrica, grupand termenii pt a evidentia


conditiile geometrice.

Rezulta forma geometrica a curbelor Hermite:

Forma geometrica vectoriala a curbelor Hermite

(blending functions)

8
SPG Curbe de forma libera

Curbe Hermite(3)
Formele matriciale:

- vectorul conditiilor geometrice pentru curbele Hermite

Matricea de baz Hermite


forma geometrica matriciala
9
SPG Curbe de forma libera

Curbe Hermite(4)

Compunerea curbelor Hermite

De ce este necesara?

Pentru a obtine curbe care trec prin mai mult de 2 puncte

Afisarea curbelor definite parametric


Se foloseste forma geometrica pe
componente:
x(u) =
0<= u <= 1
y(u) =
Se discretizeaza curba calculand
puncte de pe ea.
10
SPG Curbe de forma libera

Afisarea unei curbe de forma libera

11
SPG Curbe de forma libera

Curbe Bezier(1)
Introduse in 1962, de matematicianul Pierre Bzier, pt proiectarea caroseriilor
automobilelor la uzinele Renault

Conditiile geometrice: o secventa de puncte, P0, P1,.,Pn poligonul de control


al curbei - care determina forma si pozitia curbei.
Proprietati
Curba trece prin primul si ultimul punct si este tangenta in primul punct la
vectorul P0-P1 si in ultimul punct la vectorul Pn-1 - Pn
Gradul polinomului care modeleaza curba depinde de numarul de puncte de
control

Forma curbei depinde


de toate punctele de control

12
SPG Curbe de forma libera

Curbe Bezier(2)
Modelarea matematica

polinoame de grad n
Polinoamele Bernstein sunt functiile de amestec pentru curbele Bezier.
Nenule pe intreg intervalul de definitie:

forma curbei depinde de toate punctele de


control!
13
SPG Curbe de forma libera

Curbe Bezier(3)
Cubica Bezier: 4 puncte de control

Compunerea curbelor Bezier:


De ce este necesara?
-Gradul polinomului de aproximare depinde de numarul de puncte de control
-In practica nu se folosesc functii polinomiale cu grad mai mare de 3

- Doua curbe Bezier, C1[P0, P1, P2, P3] si C2[Q0, Q1, Q2, Q3] pot fi compuse
cu asigurarea continuitatii geometrice de ordinul 1 in punctul de jonctiune daca:
- Q0 coincide cu P3

- Segmentele P2-P3 si Q0-Q1 sunt colineare


14
SPG Curbe de forma libera

Curbe Bezier(4)
Avantaje:
- Usor de definit n mod interactiv
-Poligonul de control permite stabilirea formei si pozitiei curbei

-Curba i are extremitatile in primul si ultimul varf al poligonului de control


-Tangentele n punctele extreme sunt primul si ultimul segment al poligonului de control
-Curba este complet inchisa in figura convex definita de
punctele de control (proprietatea de nchidere convex)
-Invariana afin: curba obtinuta prin aplicarea unei transformari afine punctelor sale se poate
obtine transformand punctele de control si apoi calculand punctele de pe curba.

Dezavantaje:
-Numarul de puncte de control determina gradul polinomului de aproximare (grad (n-1) pentru n
puncte de control) n practic se folosesc cubicele Bezier
-Functiile de amestec sunt nenule pe intreg intervalul de definitie fiecare
punct de pe curba depinde de toate punctele de control (control global)
nu putem ajusta local forma curbei
SPG Curbe de forma libera

15

Curbe Bezier(5)
Forma matriciala pentru cubica Bezier:

Forma matriciala pentru curbele Bezier

Matricea de baz Bezier

Vectorul conditiilor geometrice pentru cubica Bezier

16
SPG Curbe de forma libera

Curbe Bezier(6)
Afisarea unei cubice Bezier

// Afiseaza curba Bezier


desen_curba(0, 1, 0.1, Bezier);

17
SPG Curbe de forma libera

Curbe B-spline(1)
Conditiile geometrice: o secventa de puncte care determina forma si

pozitia curbei poligonul de control al curbei


Elimina dezavantajele curbelor Bezier:
Gradul polinomului care modeleaza curba nu depinde de
numarul de puncte de control
Deplasarea unui punct de control afecteaza forma curbei
local (proprietatea de control local)

18
SPG Curbe de forma libera

Curbe B-spline(2)
Modelarea matematica

Curba B-spline de grad 2

Gradul polinoamelor

nu depinde de numarul de puncte de control!

sunt functii polinomiale definite pe portiuni:


O curba B-spline se obtine prin jonctiunea mai multor segmente de
curba, fiecare segment fiind determinat de:
-3 puncte de control consecutive B-spline de grad 2
-4 puncte de control consecutive B-spline de grad 3
19
SPG Curbe de forma libera

Curbe B-spline(3)
Funciile B-spline de grad (k-1), k= 3 sau 4
Fiecare functie

este nenula pe numai k

intervale consecutive!

20
SPG Curbe de forma libera

Curbe B-spline(4)
Vectorul uniform al valorilor nodale pentru o curba B-spline deschisa

21
SPG Curbe de forma libera

Curbe B-spline(5)
Curbe B-spline de grad 2, uniforme, neperiodice

0<=u<1
1<=u<2
2<=u<3
3<=u<4

p(u) = P0*N03(u) + P1*N13(u) + P2*N23(u)


p(u) = P1*N13(u) + P2*N23(u) + P3*N33(u)
p(u) = P2*N23(u) + P3*N33(u) + P4*N43(u)
p(u) = P3*N33(u) + P4*N43(u) + P5*N53(u)

i<=u<i+1 pi(u) = Pj*Nj3(u) - ecuatia segmentului de curba pe intervalul [i, i+1]


i<= j <= i+2
Curba B-spline este compusa din 4 segmente de curba conectate cu

continuitate geometrica de ordinul 1 in punctele de jonctiune.


Prin adaugarea unui punct de control se adauga un nou segment la
curba

22
SPG Curbe de forma libera

Curbe B-spline(6)
Curbe B-spline de grad 2, uniforme periodice
Curbele B-spline neperiodice au aceeasi forma numai in interiorul

intervalului!
Curbele B-spline uniforme periodice au aceeasi forma pe orice interval
i<= u <= i+1, fiind nenule pe numai:

-3 intervale consecutive (grad 2)


-4 intervale consecutive (grad 3)
Ecuatia curbei se poate scrie pe portiuni:
Deoarece curbele B-spline uniforme periodice au aceeasi forma pe orice
interval, se poate utiliza o forma normalizata a ec. parametrice: 0<= u <= 1

23
SPG Curbe de forma libera

Curbe B-spline(7)
Curbe B-spline uniforme periodice de grad 2

Forma normalizata a ecuatiei parametrice

pi(u) = U2*Ms3*Gs3i forma geometrica matriciala a unui segment de


curba B-spline uniform periodic de grad 2
24
SPG Curbe de forma libera

Curbe B-spline(8)
Curbe B-spline uniforme periodice de grad 2

25
SPG Curbe de forma libera

Curbe B-spline(9)
Curbe B-spline uniforme periodice de grad 3

pi(u) = U*Ms4*Gs4i

forma geometrica matriciala a unui segment


de curba B-spline uniform periodic de grad 3
26

SPG Curbe de forma libera

Curbe B-spline(10)

Curbe B-spline uniforme periodice de grad 3

27
SPG Curbe de forma libera

Curbe B-spline(11)
Proprietatile curbelor B-spline uniforme periodice
-Puncte de control confundate

-Curbe inchise

-Inchidere convexa
-Invarianta afina

28
SPG Curbe de forma libera

Curbe B-spline(12)

Proprietati ale curbelor B-spline uniforme periodice de grad 2

29
SPG Curbe de forma libera

Afisarea unei curbe B-spline

30
SPG Curbe de forma libera

Curbe Nurbs(1): curbe B-spline


generalizate
Sunt curbe B-spline neuniforme i raionale: Non-Uniform
Rational B-Spline
Condiiile geometrice impuse unei curbe Nurbs:
Secvena de puncte care determina forma i poziia curbei
Ponderile asociate punctelor de control prin care poate fi
controlat forma curbei

31
SPG Curbe de forma libera

Curbe Nurbs(2)

sau

32
SPG Curbe de forma libera

Curbe Nurbs(3)

33
SPG Curbe de forma libera

Curbe Nurbs(4)
Proprietati(1)
- Ofera o forma matematica comuna pentru curbele analitice standard (de ex.
curbe conice) care nu pot fi bine definite prin curbe B-spline i curbele de
forma libera: proprietate util n sistemele CAD/CAM.

34
SPG Curbe de forma libera

Curbe Nurbs(5)
Proprietati(2)
-Ofera flexibilitate in proiectarea unei game largi de forme sunt larg
utilizate in sistemele CAD/CAM
- Pot fi evaluate destul de rapid prin algoritmi numerici stabili si exacti
-Sunt invariante fata de transformarile afine
-Sunt invariante fata de transformarea perspectiva

35
SPG Curbe de forma libera

Bibliografie pentru capitolul Curbe de forma libera


1. Florica Moldoveanu, Z. Racovi, G. Hera, S. Petrescu, M. Zaharia,

Grafica pe Calculator, Ed. Teora, Bucureti 1996.


2. Michael E. Mortenson, Geometric Modeling, Ed. John Wiley & Sons,
1985.
3. David Solomon, Curves and Surfaces for Computer Graphics,
Springer, 2006, ISBN -10: 0-387-24196.

4. An Interactive Introduction to Splines, http://ibiblio.org/enotes/Splines/Intro.htm

36
SPG Curbe de forma libera

S-ar putea să vă placă și