Documente Academic
Documente Profesional
Documente Cultură
LIBERA
Prof. univ. dr. ing. Florica Moldoveanu
2
SPG – Curbe de forma libera
Cum sunt definite?
• Prin puncte din plan (curbe 2D) sau din spaţiu
(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
Ecuatiile parametrice ale unei curbe de forma libera
Reprezentarea parametrica vectoriala
p(u) = a3u3 + a2u2 + a1u + a0
0<= u <= 1
p(u), a0, a1, a2, a3 – vectori de 2/ 3 componente
4
SPG – Curbe de forma libera
Prin ce se deosebesc diferitele tipuri de
curbe de forma libera?
“Forma algebrică”:
5
SPG – Curbe de forma libera
Curbe Hermite (1)
Condițiile geometrice impuse unei curbe Hermite:
-datele geometrice prin care este definita curba: P0, P1, P0u, P1u
Forma algebrica:
6
SPG – Curbe de forma libera
Curbe Hermite(2)
▪ Se obtin expresiile coeficientilor algebrici, a0, a1,a2, a3,
in functie de conditiile geometrice
▪ Se inlocuiesc coeficientii algebrici in forma algebrica, grupand termenii pt a evidentia
conditiile geometrice.
▪ Rezulta forma geometrica a curbelor Hermite:
7
SPG – Curbe de forma libera
Curbe Hermite(3)
Formele matriciale
Matricea de bază
Hermite Forma geometrica matriciala
a curbelor Hermite
8
SPG – Curbe de forma libera
Curbe Hermite(4)
typedef struct{
float x;
float y;
}P2D;
Implementare in C
folosind o functie
generica line(punct1,
punct2) 10
SPG – Curbe de forma libera
Afisarea unei curbe de forma libera (2)
Implementare in OpenGL
1.
- Se calculeaza punctele de pe curba (folosind o functie similara cu
Hermite din exemplul anterior) si se memoreaza intr-un buffer de varfuri
- Se cere afisarea poliliniei care uneste varfurile.
11
Curbe Bezier(1)
➢ Introduse in 1962, de catre matematicianul Pierre Bézier, pt proiectarea caroseriilor
automobilelor la uzinele Renault.
➢ Conditiile geometrice: o secventa de puncte, P0, P1,….,Pn – varfurile poligonului de
control al curbei - care determina forma si pozitia curbei – curbe de aproximare
➢ Proprietati
•Curba trece numai 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
Ecuatia vectoriala
p(u) = Σ Pi * Bi,n(u)
0<= u <= 1, 0<= i <= n
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ă)
-Invarianţa afină: curba obtinuta prin aplicarea unei transformari afine punctelor sale se poate
obtine transformand numai punctele de control si apoi calculand punctele de pe curba.
-Curbele Bezier de grad 2 (3 puncte de control) sunt folosite in proiectarea caracterelor din
fontul TrueType.
Dezavantaje:
-Numarul de puncte de control determina gradul polinomului de aproximare
-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 15
SPG – Curbe de forma libera
Curbe Bezier(5)
Forma matriciala pentru cubica Bezier:
16
SPG – Curbe de forma libera
Curbe Bezier(6)
17
SPG – Curbe de forma libera
Curbe B-spline(1)
18
SPG – Curbe de forma libera
Curbe B-spline(2)
Modelarea matematica
19
SPG – Curbe de forma libera
Curbe B-spline(3)
20
SPG – Curbe de forma libera
Curbe B-spline(4)
21
SPG – Curbe de forma libera
Curbe B-spline(5)
Curbe B-spline de grad 2, uniforme, neperiodice
0<= u <1
23
SPG – Curbe de forma libera
Curbe B-spline(7)
Curbe B-spline uniforme periodice de grad 2
24
SPG – Curbe de forma libera
Curbe B-spline(8)
25
SPG – Curbe de forma libera
Curbe B-spline(9)
26
SPG – Curbe de forma libera
Curbe B-spline(10)
27
SPG – Curbe de forma libera
Curbe B-spline(11)
-Curbe inchise
-Inchidere convexa
-Invarianta afina
28
SPG – Curbe de forma libera
Curbe B-spline(12)
29
SPG – Curbe de forma libera
Afisarea unei curbe B-spline
30
SPG – Curbe de forma libera