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