6. Courbes

Transcription

6. Courbes
Courbes et surfaces
1. Courbes
Problèmes : étant donnés n points (de R2 ou de R3), trouver
une courbe passant
•
par les points => interpolation
•
« près des points » => lissage ou interpolation
MIM1/courbes
1
1.1. Interpolation
Problème P1 : étant donnés (n+1) points (x0, y0), (x1, y1), …,
Pn ( x) = ∑ ai x i
(xn, yn), trouver un polynôme de degré n
tel que ∀i, Pn ( xi ) = y i
Ce problème admet une solution unique (en utilisant la base
canonique par exemple), mais cette solution donne lieu à des
problèmes d’oscillation :
Figure 1 :
MIM1/courbes
2
Figure 2 (d ’après R. DONY, MASSON)
MIM1/courbes
3
Pour éviter les oscillations, on va essayer de résoudre un autre
problème :
Problème P2 : étant donnés (n+1) points (x0, y0), (x1, y1), …,
(xn, yn), trouver une fonction s qui minimise
b
[
2
]
I(s) = ∫ s (q ) ( x) dx
où
a
s(q) est la dérivée qième de s
a < x0
xn < b
et telle que ∀i, s( xi ) = y i
Ceci conduit à la notion de fonction spline (qui provient de la latte
de bois utilisée par les dessinateurs)
MIM1/courbes
4
Théorème : pour q ≥ 2 donné
(i) s est un polynôme de degré (q-1) dans les intervalles
[a, x0] et [xn, b]
(ii) s est un polynôme de degré (2q-1) sur chaque intervalle
]x i , x i+1 [
(iii) la dérivée d’ordre (2q-1) est continue en chaque xi
On montre que l’on peut construire les fonctions splines par
morceaux :
posons
 0 si x < x i
(x − x i ) + = 
x - x i si x ≥ x i
et
(x − x i )+2q −1
Pi (x ) = d i
(2q − 1)!
MIM1/courbes
5
alors
q −1
n
j= 0
i =0
s(x ) = ∑ α j x j + ∑ Pi (x )
α0, …, αq-1, d0, …, dn sont inconnues. Pour les déterminer, on
a les équations :
s(x i ) = y i i = 0, ..., n
n
 d x k k = 0, ..., q - 1
i i
∑
i =0
Remarque : en résolvant le système précédent, on obtient la
continuité d’ordre (2q-2) en xi. La dérivée d’ordre (2q-1)
présente une discontinuité de valeur di en xi
MIM1/courbes
6
Figure 3
MIM1/courbes
7
1.2. Lissage
Problème P3 : étant donnés (n+1) points (x0, y0), (x1, y1), …,
(xn+1, yn+1), trouver une courbe passant « près » de ces points
1.2.1. Approche de Ferguson
Il s’agit de chercher un polynôme
r
r 2 r 3
r r
P(u ) = α 0 + α1 u + α 2 u + α 3 u , u ∈ [0,1]
tel que
r
la position de la courbe à l’origine donnée par α 0
r
r
r
r
α
+
α
+
α
+
α
la position de la courbe à l’extrémité donnée par r 0
1
2
3
la direction de la tangente à l’origine donnée par α 1
r
r
r
la direction de la tangente à l’extrémité donnée par α 1 + 2α 2 + 3α 3
MIM1/courbes
8
1.2.2. Courbes de Bézier
1.2.2.1. Définitions
On cherche une courbe définie par :
n
r
r
P(u ) = ∑ f i (u )α i , u ∈ [0,1], telle que
i =0
à l’origine (u = 0)
r
la position de la courbe est donnée par α 0 r r
r
ième
la dérivée k
(k ≥ 1) ne dépend que de α 0 , α 1 ,..., α k
à l’extrémité (u = 1)
r
la position de la courbe est donnée par α n r r
r
ième
la dérivée k
(k ≥ 1) ne dépend que de α n , α n −1 ,..., α n − k +1
MIM1/courbes
9
on peut montrer que
f i (u ) = ∑ x k,i u k , avec x k,i = (- 1)
k −1
C kk−−1i C nk
Les fi(u) s ’appellent des polynômes de Bézier
Figure 4
MIM1/courbes
10
n = 3 : f0 = 1
n = 4 : f0 = 1
f 1 = u 3 − 3u 2 + u
f 1 = −u 4 + 4u 3 − 6u 2 + 4u
f 2 = - 2u 3 + 3u 2
f 2 = 3u 4 − 8u 3 + 6u 2
f3 = u3
f 3 = −3u 4 + 4u 3
f4 = u4
Figure 5
MIM1/courbes
11
Propriétés :
f i (u ) − f i +1 (u ) = C in u i (1 − u )
f i (u ) = 1 − f n −i +1 (1 − u )
n −i
= B i (u )
1 > f 1 (u ) > f 2 (u ) > ... > f n (u ) pour u ∈ ]0,1[
1.2.2.2. Forme de Bernstein
n
r
r
P(u ) = ∑ f i (u )α i
i =0
posons
r
r
S −1 = 0
r r
r
α i = Si − Si −1 , pour i ≥ 0
alors
MIM1/courbes
12
(
n
r r
r
P(u ) = ∑ f i (u ) Si − Si −1
i =0
)
r
= ∑ (f i (u ) − f i +1 (u ))Si
n
i =0
r
= ∑ B i (u )Si
n
i =0
Bi(u) est appelée fonction de Bernstein ou fonction de mélange
=> points de contrôle et polygone de contrôle
MIM1/courbes
13
n = 3 : B 0 = -u 3 + 3u 2 - 3u + 1
n = 4 : B 0 = u 4 - 4u 3 + 6u 2 - 4u + 1
B1 = 3u 3 − 6u 2 + 3u
B1 = −4u 4 + 12u 3 − 12u 2 + 4u
B 2 = - 3u 3 + 3u 2
B 2 = 6u 4 − 12u 3 + 6u 2
B3 = u 3
B 3 = −3u 4 + 4u 3
B4 = u 4
Figure 6
MIM1/courbes
14
Propriétés :
• de l’enveloppe convexe
• de l’invariance par les transformations affines
Avantages :
• la courbe passe par les points de contrôle P0 et Pn
Inconvénients :
• le degré du polynôme dépend du nombre de points de contrôle
• le contrôle de la courbe est global
MIM1/courbes
15
1.2.3. Courbes B-splines
1.2.3.1. Définitions
Soit t = (t i ), 1 ≤ i ≤ n une suite de nombres réels tels que
∀i, t i ≤ t i +1 Chaque ti est un noeud et t est appelé vecteur nodal
On appelle B-spline de base les fonctions Ni,k définies par
1 si t i ≤ u ≤ t i +1
N i,1 (u ) = 
sinon
 0
N i,k (u ) = ω i,k (u )N i,k −1 (u ) + (1 − ω i +1,k (u ))N i +1,k −1 (u )
avec
 u − ti
si t i + k −1 ≠ t i

ω i, k (u ) =  t i + k −1 − t i

0
sinon
MIM1/courbes
16
1
1
0
0
ti
ti+1
ti+2
Figure 7 : Ni,1
ti= ti+1
ti+2
Figure 8 : N i,2
MIM1/courbes
17
Propriétés :
• Ni,k est un polynôme de degré k par morceaux, nul hors de
[ti, t i+k]. Les ti sont les points de jonction entre les divers morceaux
de la courbe
• si ∀i, t i ≠ t i +1 , alors Ni,k est C k-1. Sinon, chaque doublement
d’un point de contrôle diminue de 1 la continuité en ti
1.2.3.1. B-splines
Soit t = (t i ), 1 ≤ i ≤ n une suite nodale. Une B-spline d’ordre k
associée à t est définie par :
B k, t (u) = ∑ N i,k (u ) Vi
où les Vi sont les points de contrôle de la B-spline
MIM1/courbes
18
Figure 9 : une B-spline
MIM1/courbes
19
Cas particuliers :
• t = Z = (…, -2, -1, 0, 1, 2, …)
=> splines cardinal ou uniformes
• t = (0, …, 0, 1, …, 1)
µ+1
ν+1
La récurrence définissant les Ni,k devient
N µ, ν (u ) = u N µ, ν −1 + (1 − u)N µ −1, ν
⇒ N µ, ν (u ) = C µµ + ν (1 − u ) u ν
µ
MIM1/courbes
20
Propriétés :
• de l’enveloppe convexe
• de l’invariance par les transformations affines
Avantages :
• le degré du polynôme est indépendant du nombre de points
de contrôle
• le contrôle de la courbe est local
Inconvénients :
MIM1/courbes
21
1.2.4. Forme rationnelle (NURBS)
On appelle H la fonction
R4 → R3
x y z
(x, y, z, t) a  , , 
t t t
et T l’application
R3 → R4
(x, y, z ) a (x, y, z,1)
On note Mi(t) les fonctions de mélange des courbes de Bézier
ou des B-splines définies par les points de contrôle Pi
A chaque point Pi, on associe un poids βi > 0
MIM1/courbes
22
On définit
S : [0,1] → R 4
n
u a ∑ β i T(Pi ) M i (u )
i =0
La forme rationnelle d’une courbe (Bézier ou B-spline) est alors
σ : [0,1] → R 3
définie par
u a σ (u ) = H (S (u ))
en fait
σ(u ) =
1
n
∑β
i =1
i
M i (u )
∑β
MIM1/courbes
i
Pi M i (u )
23
Avantages :
• quadriques
• influence d’un point de contrôle grâce à βi
Inconvénients :
• augmentation des temps de calcul
MIM1/courbes
24
2. Surfaces
On distingue deux méthodes de représentation d’une surface : les
carreaux de surface d’interpolation et le produit tensoriel
2.1. Carreaux de surface d’interpolation
Cette méthode est basée sur la définition des courbes délimitant un
carreau suivi du remplissage de ce carreau par interpolation entre
les courbes constituant le bord du carreau
Dans la méthode de Coons, le carreau est défini par 4 courbes P(u,0),
P(u,1), P(0,v) et P(v,1)
MIM1/courbes
25
Avec les fonctions d’interpolation
f 0 (t ) = 2t 3 − 2t 2 + 1
0 ≤ t ≤1
f 1 (t ) = −2t 3 + 3t 2
un point P du carreau est défini par
P(u, v ) = P(u,0 )f 0 (v ) + P(u,1)f 1 (v ) + P(0, v )f 0 (u ) + P(1, v )f 1 (u )
- P(0,0)f 0 (u )f 0 (v ) − P(0,1)f 0 (u )f 1 (v )
− P(1,0)f 1 (u )f 0 (v ) − P(1,1)f 1 (u )f 1 (v )
MIM1/courbes
26
2.2. Produit tensoriel
Un carreau est généré par le déplacement et la déformation d’une
courbe initiale, la génératrice, le déplacement étant défini par
des trajectoires appelées directrices
Cette méthode est une généralisation des méthodes de lissage vues
pour les courbes : on part d’un
réseau polygonal de sommets
Pi, j , 0 ≤ i ≤ n, 0 ≤ j ≤ m
MIM1/courbes
27
2.2.1. Surfaces de Bézier
On utilise les polynômes de Bézier comme fonctions de mélange :
n
m
P(u, v ) = ∑∑ B j,m (u ) Pi, j B i,n (v ), 0 ≤ u, v ≤ 1
i = 0 j= 0
MIM1/courbes
28
Avantages :
• interprétation aisée des points de contrôle
• bon contrôle de la surface
Inconvénients :
•le degré du polynôme est dépendant du nombre de points
de contrôle
• le contrôle de la courbe est global
MIM1/courbes
29
2.2.1. Surfaces B-splines
n
m
P(u, v ) = ∑∑ N j,m (u ) Pi, j N i,n (v ), 0 ≤ u, v ≤ 1
i = 0 j= 0
Avantages :
•le degré du polynôme est indépendant du nombre de points
de contrôle
• le contrôle de la courbe est local
Inconvénients :
•La surface ne passe par aucun point de contrôle
MIM1/courbes
30