28
1 Jean-Marc Ledermann Courbes et interpolations Programmes en Visual Basic TABLE DES MATIÈRES § 1 Introduction ................................................................................................................. 2 § 2 Interpolations linéaires ........................................................................................... 2 § 3 Polynômes de Lagrange .......................................................................................... 6 § 4 Méthode des moindres carrés .............................................................................. 9 § 5 Interpolation quadratique .................................................................................. 13 § 6 Interpolation cubique ........................................................................................... 15 § 7 Courbes paramétrées et éléments de cinématique .................................. 19 § 8 Courbes de Bézier ................................................................................................... 25

Programmes en Visual Basic - RPNrpn.ch/lddr/adm/adm_inter.pdfLa masse volumique de l’eau est donnée en fonction de la température par le tableau ci-dessous. 0(oC) 5 10 20 30 999.84

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • 1 Jean-Marc Ledermann

    Courbes et interpolations

    Programmes en Visual Basic

    TABLE DES MATIÈRES

    § 1 Introduction ................................................................................................................. 2

    § 2 Interpolations linéaires ........................................................................................... 2

    § 3 Polynômes de Lagrange .......................................................................................... 6

    § 4 Méthode des moindres carrés .............................................................................. 9

    § 5 Interpolation quadratique .................................................................................. 13

    § 6 Interpolation cubique ........................................................................................... 15

    § 7 Courbes paramétrées et éléments de cinématique .................................. 19

    § 8 Courbes de Bézier ................................................................................................... 25

  • 2 Courbes et interpolations

    § 1 Introduction

    Étant donnés des points du plan, il s’agit de trouver une courbe, générale-ment polynomiale, soit qui passe par ces points, soit qui passe près de ces points avec, éventuellement, des conditions supplémentaires (par exemple sur la pente).

    Exemple

    A partir de quelques points du plan (fig. 1) on peut les relier par une inter-polation linéaire (fig. 2) ou polynomiale (fig. 3) ou encore construire une courbe qui approche ces points (fig. 4).

    § 2 Interpolations linéaires

    Exercice 1

    On a mesuré la température à différents moments de la journée, et reporté ces valeurs dans le tableau ci-dessous.

    heure du re-levé

    8h00 10h0

    0 12h0

    0 14h0

    0 16h0

    0 18h0

    0 20h0

    0

    température 11 14 16 17 19 15 12

    a) Représenter ces données par un graphique.

    b) Peut-on interpoler ces données pour obtenir une température à 13h00 et à19h20 ?

    c) Peut-on extrapoler ces données pour obtenir une température à 21h00 ? et à 24h00 ?

    d) Créer une fonction f(t) qui donne une interpolation de la température pour [8.00;20.00]t

    Remarque t est donné en heures et non pas en heures et minute.

    1 2 3 4 5

    1

    2

    3

    fig. 1

    1 2 3 4 5

    1

    2

    3

    fig. 2

    1 2 3 4 5

    1

    2

    3

    fig. 3

    1 2 3 4 5

    1

    2

    3

    fig. 4

  • § 2 Interpolations linéaires 3

    Exercice 2

    L’extrait ci-dessous est tiré d’un décret français du 3 janvier 1989 concer-nant la teneur maximale de fluor dans l’eau destinée à la consommation humaine.

    Pour les eaux destinées à la consommation humaine, la teneur en fluor doit être inférieure à 1’500 microgrammes par litres pour une température moyenne de l'aire géographique considérée comprise entre 8 degrés C et 12 degrés C et à 700 microgrammes par litres pour une température moyenne de l'aire géographique considérée comprise entre 25 et 30 degrés C.

    Pour les températures moyennes comprises entre 12 et 25 degrés C, la teneur limite en fluor est calculée par interpolation linéaire.

    a) Quelle est cette teneur maximale tolérée pour une région pour laquelle la température moyenne est de 17 degrés C ?

    b) Quelle est la température moyenne d’une commune française pour la-quelle la teneur maximale tolérée de fluor est de 1'200 microgrammes par litre d’eau potable ?

    Exercice 3

    Le graphe de la fonction f(x) = sin(x) pour [ π;π]x et donnée ci-dessous.

    -3 -2 -1 1 2 3

    -1

    -0.5

    0.5

    1

    a) Sur ce graphe, après avoir placé les points A(– ; 0), B(– π2

    ; –1), C(0 ; 0),

    D( π2

    ; 1) et E( ; 0), relier ces points par des segments de droite puis

    donner la fonction correspondante g définie par intervalles (mor-ceaux). Quelle est la valeur de l'erreur e1(x) = f(x) – g(x) en x = π4 ?

    b) Sur ce même graphe, dessiner l’arc de parabole qui passe par les points A, B et C ainsi que dessiner l’arc de parabole qui passe par les points C, D et E puis donner la fonction correspondante h définie par intervalles. Quelle est la valeur de l'erreur e2(x) = f(x) – h(x) en x = π4 ?

  • 4 Courbes et interpolations

    -3 -2 -1 1 2 3

    -1

    -0.5

    0.5

    1

    c) Trouver une fonction k du 3me degré telle que k(x) = f(x) pour x = –, x = 0, x = π

    2 et x = . Dessiner le graphe de k.

    Quelle est la valeur de l'erreur e3(x) = f(x) – k(x) en x = π2 , x = π4

    et

    x = 3π4

    ?

    Exercice 4

    Écrire un programme qui permet, par l'intermédiaire de la souris, de choisir et d'enregistrer des points sur une zone d'image.

    Les points sont numérotés de 1 à n, leurs coordonnées sont enregistrées dans deux variables indicées, l'une PX(1), PX(2), …, PX(n) pour les abs-cisses et l'autre, PY(1), PY(2), …, PY(n) pour les ordonnées.

    Rappel

    Les variables indicées doivent être déclarées :

    Dim PX(100) As Integer

    Dim PY(100) As Integer

    Remarques

    Les points donnés doivent être d'abscisses croissantes.

    Rappel

    La procédure Picture1_MouseDown( … ) est automatiquement exécutée lors d’un clic de la souris dans la zone d’image Picture1 et les coordonnées de la souris sont contenues dans les variables x et y.

  • § 2 Interpolations linéaires 5

    Exercice 5

    a) Écrire un programme qui permet de donner des points avec la souris puis, après un clic sur un bouton de commande, construise une inter-polation linéaire qui passe par les points don-nés (ligne brisée qui relie ces points).

    b) Compléter le programme de sorte qu'une abs-cisse x étant donnée (dans une zone de texte et comprise entre PX(1) et PX(n)), il calcule son image y par la fonction d'interpolation linéaire et affiche le point correspondant.

    Remarque

    Pour calculer la valeur de y, le programme doit d'abord déterminer entre quels points succes-sifs se trouve le point d'interpolation.

    c) Modifier encore le programme de sorte que l’abscisse du point d’interpolation puisse être donnée avec la souris.

    Remarque

    La souris a ici un double rôle, dans un premier temps elle permet d’en-registrer des points et, dans un deuxième temps (après le dessin de l’interpolation), elle permet de désigner l’abscisse d’un point. Une variable, nommée par exemple Modesouris, peut prendre la valeur 0 pour le premier rôle et la valeur 1 pour le deuxième.

    La procédure Picture1_MouseDown( … ) donnée ci-dessous, effectuera donc l’une ou l’autre des actions.

    Private Sub Picture1_MouseDown( … )

    If mode = 0 Then

    Call points(X, Y)

    Else

    Call interpol(X)

    End If

    End Sub

    Où la procédure point(x,y) enregistre le point de coordonnées x et y et la procédure interpol(x) détermine l’ordonnée du point d’interpolation d’abscisse x.

  • 6 Courbes et interpolations

    § 3 Polynômes de Lagrange

    Exercice préliminaire

    a) Trouver un polynôme l1(x) qui s'annule en x = 2 et x = 3 et qui prend la valeur y = 1 en x = 5.

    b) Trouver un polynôme l(x) qui s'annule en x1 et x2 et qui prend la valeur y3 en x3.

    c) Trouver un polynôme l2(x) qui s'annule en x = 2 et x = 5 et qui prend la valeur y = 1 en x = 3.

    d) Trouver un polynôme l3(x) qui s'annule en x = 3 et x = 5 et qui prend la valeur y = 4 en x = 2.

    e) On considère le polynôme p(x) = l1(x) + l2(x) + l3(x). Que vaut p(2), p(3), p(5) ?

    Pour trouver un polynôme de degré 𝑛– 1 dont le graphe passe par n points du plan donnés, il est possible de résoudre un système de n équations à n inconnues.

    La méthode d'interpolation de Lagrange permet de fabriquer directement un tel polynôme P(x) à partir des n points et sans résoudre de système.

    Si on note (x1;y1), (x2;y2), …, (xn;yn) ces n points, alors ce polynôme P de La-grange s'écrit :

    1 1 2 2

    1

    ( ) ( ) ( ) ( ) ( )n

    k k n n

    k

    P x L x y L x y L x y L x y

    Les polynômes Lk, les « petits Lagranges » sont définis par

    1

    1 2 1 1

    1 2 1 1

    ( )

    ( ) ( ) ( ) ( ) ( )

    ( ) ( ) ( ) ( ) ( )

    ni

    kk ii

    i k

    k k n

    k k k k k k k n

    x xL x

    x x

    x x x x x x x x x x

    x x x x x x x x x x

    Lk(x) est un polynôme qui prend la valeur 1 pour x = xk et qui s'annule pour x = xi, i = 1, …n et i k

    Lk(x)·yk prend donc la valeur yk pour x = xk et s'annule pour x = xi, i = 1, …n et i k

    P(x) est un donc un polynôme qui prend la valeur yk pour x = xk , k = 1, …n

  • § 3 Polynômes de Lagrange 7

    Exemple

    Construction du polynôme de Lagrange dont le graphe passe par les 3 points (1;1), (3;5) et (4;10).

    2

    1

    ( 3) ( 4) 1( ) ( 7 12)

    (1 3) (1 4) 6

    x xL x x x

    ,

    2

    2

    ( 1) ( 4) 1( ) ( 5 4)

    (3 1) (3 4) 2

    x xL x x x

    ,

    2

    3

    ( 1) ( 3) 1( ) ( 4 3)

    (4 1) (4 3) 3

    x xL x x x

    2 2 2

    2

    2

    1 1 1( ) ( 7 12) 1 ( 5 4) 5 ( 4 3) 10

    6 2 3

    1 5 10 7 25 40 12 20 30( ) ( ) ( )6 2 3 6 2 3 6 2 3

    2 2

    P x x x x x x x

    x x

    x x

    Exercice 6

    a) En suivant la méthode de Lagrange, donner une expression du poly-nôme P(x) dont le graphe est la cubique passant par les quatre points P0(O; yo). P1(1; y1), P2(2; y2) et P3(3; y3)

    b) Comment faut-il choisir y4 pour que le point P4(4; y4) soit sur la cu-bique?

    Exercice 7

    On se propose d'estimer par un polynôme de Lagrange P(x) de degré 2 la fonction exponentielle 𝑓(𝑥) = 2𝑥, en tenant compte de trois valeurs : f(–l), f(1) et f(3).

    a) Chercher les coefficients du polynôme P(x) en résolvant un système de trois équations à trois inconnues.

    b) Utiliser la méthode de Lagrange pour déterminer le polynôme P(x) et ses coefficients.

    c) Calculer exactement l'erreur d'interpolation f(x) -P(x) en x = O et en x = 2.

    d) Vérifier que sur l'intervalle [1 ; 3] , le polynôme de Lagrange donne une estimation par excès de la fonction. Estimer, dans cet intervalle, le maximum de la différence P(x) – f(x) .

  • 8 Courbes et interpolations

    Exercice 8

    a) Écrire un programme qui trace le graphe d'un polynôme de Lagrange passant par des points désignés à l'aide de la souris.

    b) Compléter le programme de sorte qu’il affiche l’ordonnée d’un point du polynôme de Lagrange dont l’abs-cisse est donnée (dans une zone de texte ou avec la souris) .

    Exercice 9

    La masse volumique de l’eau est donnée en fonction de la température par le tableau ci-dessous.

    (oC) 0 5 10 20 30

    (kg·m-3) 999.84 999.97 999.70 998.20 995.64

    a) Trouver, en utilisant la méthode de Lagrange avec les valeurs du ta-bleau, un polynôme d’interpolation puis le représenter graphiquement en utilisant Mathematica.

    b) Trouver la masse volumique de l’eau à 4 oC en utilisant une interpola-tion de Lagrange.

    c) Trouver la masse volumique de l’eau à 4 oC en utilisant une interpola-tion linéaire.

    d) Pour quelle température la masse volumique de l’eau est-elle de 999 kg·m-3 ?

    1. Par interpolation linéaire.

    2. Par interpolation de Lagrange avec les valeurs pour 0 oC, 10 oC, 20oC et 30 oC données dans le tableau.

    Indication : utiliser Mathematica

  • § 4 Méthode des moindres carrés 9

    § 4 Méthode des moindres carrés

    Étant donné une liste de points du plan P1(x1;y1), P2(x2;y2), P3(x3;y3), …, Pn(xn;yn), on cherche une droite d’équation y = a x + b qui approche (au mieux) ces n points.

    La méthode des moindres carrés consiste à choisir la droite dont la somme des carrés des écarts (distance prise verticalement) entre les points don-nés et la droite soit aussi petite que possible.

    Exemple

    Cherchons la droite y ax b qui ap-

    proche le mieux, au sens des moindres carrés, les points A(0;0), B(1;1), C(2;1) et D(3;2).

    Calculons les carrés des écarts

    2 2 2

    1 ( 0 0)d a b b , 2 2 2 2

    2 ( 1 1) 2 2 2 1d a b a b ab a b , 2 2 2 2

    3 ( 2 1) 4 4 4 2 1d a b a b ab a b , 2 2 2 2

    4 ( 3 2) 9 6 12 4 4d a b a b ab a b ,

    puis la somme E de ces carrés des écarts 2 2 2 2 2 2

    1 2 3 414 4 12 18 8 6E d d d d a b ab a b .

    Il faut trouver les valeurs de a et b de sorte que E soit minimal. E est une fonction de a, elle atteint son minimum lorsque E'(a)=0, mais E est également une fonction de b qui atteint son minimum lorsque E'(b)=0.

    '( ) 28 12 18E a a b

    '( ) 12 8 8E b a b

    28 12 18 0 3 1,12 8 8 0 5 10a b

    a ba b

    L'équation de la droite des moindres carrés cherchée est 3 15 10

    y x

    y = a x + b

    P1

    d2

    P3

    d1

    d4 d3

    P2

    P5

    P4

    P6

    P7

    P8

    P9

    P10

    d5 d6 d7

    d8 d9

    d10

  • 10 Courbes et interpolations

    De façon générale, il s’agit donc de choisir les coefficients a et b de façon à minimiser l’expression

    2 2 2 2 2 2

    1 21 1 1

    (( ( )) ( )n n n

    n k k k k kk k k

    E d d d d y ax b y ax b

    On peut considérer E comme une fonction dont la variable est b :

    2

    1

    ( ) ( )n

    k kk

    E b y ax b

    Cette fonction est un polynôme de 2me degrés, elle admet un minimum pour la valeur de b qui annule la dérivée E’(b)

    1 1 1 1 1

    2

    '( ) 2( ) ( 1) 2 ( ) 2 2 2n n n n n

    k k k k k kk k k k k

    nb

    E b y ax b y ax b y ax b

    En posant E’(b) = 0, on obtient l’équation

    1 1

    1 1 1 1

    1 12 2 2 0

    n n

    k kn n n nk k

    k k k kk k k k

    y ax

    y ax nb b y a x y axn n n

    où x est la moyenne des xk et y est la moyenne des yk.

    On peut également considérer E comme une fonction dont la variable est a

    2

    1

    ( ) ( )n

    k kk

    E a y ax b

    Cette fonction admet un minimum pour la valeur de a qui annule la déri-vée E’(a).

    2

    1 1

    2

    1 1 1

    2

    1 1 1

    2

    1 1 1 1

    1

    '( ) 2( )( ) 2 ( )

    2

    2 ( )

    2

    2 ( ) ( )

    n n

    k k k k k k kk k

    n n n

    k k k kk k k

    n n n

    k k k kk k k

    n n n n

    k k k k kk k k k

    k k k kk

    E a y ax b x x y ax bx

    x y a x bx

    x y a x y ax x

    x y a x x y a xx

    y y x a x x x

    1

    n n

    k

  • § 4 Méthode des moindres carrés 11

    En posant E’(a) = 0, on obtient l’équation

    1 1

    ( ) ( ) 0n n

    k k k kk k

    y y x a x x x

    D'où l'on tire la valeur de a.

    1

    1

    ( )

    ( )

    n

    k kk

    n

    k kk

    y y x

    a

    x x x

    Conclusion

    Étant donné n points du plan P1(x1;y1), P2(x2;y2), P3(x3;y3), … , Pn(xn;yn), l’équation de la droite des moindres carrés est : y = a x + b

    avec

    1

    1

    ( )

    ( )

    n

    k kk

    n

    k kk

    y y x

    a

    x x x

    et b y ax où

    1

    1 n

    kk

    x xn

    et 1

    1 n

    kk

    y yn

    On peut montrer que a peut également s'écrire

    1

    2

    1

    ( )

    ( )

    n

    k kk

    n

    kk

    x x y

    a

    x x

    ou 1

    2 2

    1

    1

    1

    n

    k kk

    n

    kk

    x y x yn

    a

    x xn

    Exercice 10

    Écrire un programme qui trace la droite des moindres carrés pour des points donnés avec la souris.

    Exercice 11

    On donne les valeurs ci−contre

    x 1 3 4 6 8 9 11 14

    y 1 2 4 4 5 7 8 9

    a) Calculer la droite des moindres carrés.

    b) Calculer la droite des moindres carrés après avoir inversé les rôles de x et y.

    c) Dessiner ces 2 droites dans le même système d’axes.

  • 12 Courbes et interpolations

    Exercice 12

    Pour cet exercice il sera nécessaire d'utiliser Mathema-tica pour résoudre des équations.

    On donne les points 𝐴(0; 1), 𝐵(1; 2), 𝐶(2; 5) et 𝐷(3; 10).

    a) Trouver la valeur de 𝑎, de sorte que la fonction 𝑦 = 𝑎𝑥 approche le mieux ces 4 points au sens des moindres carrés.

    b) En remarquant que ln(𝑎𝑥) = 𝑥 ∙ ln(𝑎), on peut "linéariser" le problème en considérant les points 𝐴′(0; ln(1)), 𝐵′(1; ln(2)), 𝐶′(2; ln(5)) et 𝐷′(3; ln (10) et en cherchant une fonction 𝑦 =ln (𝑎) ∙ 𝑥. Trouver la valeur de �̃� de sorte que la fonction 𝑦 = �̃� ∙ 𝑥 approche le mieux les 4 points 𝐴′, 𝐵′, 𝐶′ et 𝐷′ au sens des moindres carrés, puis comparer les valeurs de 𝑎 et 𝑒�̃�.

    c) Trouver les valeurs de 𝑎 et 𝑏, de sorte que la fonction 𝑦 = 𝑎 ∙ 𝑏𝑥 approche le mieux les 4 points 𝐴, 𝐵, 𝐶 et 𝐷 au sens des moindres carrés.

    d) "Linéariser" la question c).

    Exercice 13

    Dans Excel, le dessin d'une droite des moindres carrés peut se faire automatiquement en ajoutant une courbe de tendance de type linéaire à un graphique.

    Avec les données de l'exercice 11, afficher une courbe de ten-dance linéaire, calculer ensuite les coefficients a et b de la droite des moindres carrés y = a x + b, puis représenter cette droite.

  • § 5 Interpolation quadratique 13

    § 5 Interpolation quadratique

    Étant donné n points du plan, P1, P2, …, Pn, on cherche à construire une courbe formée de n – 1 arcs de parabole. Le premier de ces arcs est d’ex-trémités P1 et P2, le deuxième d’extrémités P2 et P3, le n – 1 ème d’extrémi-tés Pn-1 et Pn.

    Chacun de ces arcs est le graphe d'une fonction fk(x) = ax2 + bx + c.

    Ces arcs doivent est reliés sans rupture de pente, la dérivée à la fin d'un arc doit donc être égale à la dérivée à l'origine de l'arc suivant.

    Exercice 14

    a) Trouver les coefficients a, b et c d'une fonction f (x) = ax2 + bx + c telle que f (0) = 0, f (x1) = y1 et f '(0) = p0 (x1, y1 et p0 sont donnés).

    b) Étant donné 2 points du plan (PX(1);PY(1)) et (PX(2);PY(2)) ainsi qu'une valeur p0, (données dans une zone de texte), écrire le programme qui trace un arc de parabole d'extrémités (PX(1);PY(1)) et (PX(2);PY(2)) et dont la pente en (PX(1);PY(1)) vaut p0.

    Quel est la pente en (PX(2);PY(2)) ?

    Indication Trouver la parabole qui passe par (0;0) et (x1;y1) où x1 = PX(2) – PX(1) et y1 = PY(2) – PY(1)

    c) Étant donné n points du plan (PX(1);PY(1)), (PX(2);PY(2)), …, (PX(n);PY(n)) (désignés à l’aide de la souris) ainsi qu'une valeur p0 (données dans une zone de texte), écrire le pro-gramme qui trace une courbe formée d'une succession d'arcs de parabole.

    Les extrémités du premier arc sont les points (PX(1);PY(1)) et (PX(2);PY(2)), sa pente en (PX(1);PY(1)) vaut p0 (donnée par l'utilisa-teur dans une zone de texte).

    Les extrémités du deuxième arc sont les points (PX(2);PY(2)), (PX(3);PY(3)) et sa pente en (PX(2);PY(2)) est égale à la pente du pre-mier arc en ce point ; et ainsi de suite …

    1er arc

    2ème arc

    3ème arc

    P1

    (P2

    (P3

    P4

  • 14 Courbes et interpolations

    Exercice 15

    a) Exprimer les coefficients a, b et c d'une parabole f(x) = ax2 + bx + c dont le graphe passe par les points (0;0), (x1;y1) et (x2;y2).

    Pour tester vos coefficients, écrire un programme qui trace un arc de para-bole qui passe par 3 points donnés.

    b) Le programme de l'exercice précédent permet de construire une courbe formée d'arcs de parabole dont les extrémités sont des points donnés et dont on précise la pente p0 à l'origine du premier arc. Pour rendre cette construction plus automatique, il faut trouver un moyen de calculer cette pente p0 en fonction des points donnés. Une première méthode pourrait consister à choisir pour p0 la pente du segment qui relie les 2 premiers points, mais ce choix conduit à obtenir un segment de droite pour le premier arc.

    Une bonne méthode consiste à déter-miner la parabole qui passe par les 3 premiers points donnés et à choisir pour p0 la pente de cette parabole au premier point.

    Modifier ainsi le programme créé pour l'exercice précédent.

    Exercice 16

    On donne les points A(0;0), B(1;1), C(2;0) et D(3;2).

    a) Déterminer la parabole f1 dont le graphe passe par les points A, B et C.

    b) Déterminer la parabole f2 dont le graphe passe par les points C et D et dont la pente en C est égale à la pente de f1 en C.

    c) Dessiner le graphe de 12

    ( ) si [0;2]( )

    ( ) si [2;3]f x x

    f xf x x

    d) Déterminer la cubique g2 dont le graphe passe par les points C et D, dont la pente en C est égale à la pente de f1 en C et tel que g2''(2) = f1''(2).

    e) Dessiner le graphe de 12

    ( ) si [0;2]( )

    ( ) si [2;3]f x x

    g xg x x

  • § 6 Interpolation cubique 15

    § 6 Interpolation cubique

    Étant donné n points du plan, 𝑃1, 𝑃2, 𝑃3, … , 𝑃𝑛, on cherche à construire une courbe qui passe par ces point et qui est formée de 𝑛 − 1 arcs de cubique.

    Chacun de ces arcs de cubique est le graphe d'une fonction 𝑓𝑘(𝑥) = 𝑎𝑘𝑥

    3 + 𝑏𝑘𝑥2 + 𝑐𝑘𝑥 + 𝑑𝑘.

    Le premier arc de cubique, 𝑓1, passe par les points 𝑃1(𝑃𝑋(1); 𝑃𝑌(1)) et 𝑃2(𝑃𝑋(2); 𝑃𝑌(2)), le deuxième, 𝑓2, passe par les points 𝑃2(𝑃𝑋(2); 𝑃𝑌(2)) et 𝑃3(𝑃𝑋(3); 𝑃𝑌(3)) et ainsi de suite.

    Il faut quatre conditions pour déterminer la cubique qui forme un arc reliant deux points; ces quatre conditions sont :

    la cubique passe par les 2 extrémités de l'arc (2 conditions)

    la pente de la cubique est donnée aux 2 extrémités de l'arc (2 autres conditions).

    Ces arcs doivent est reliés sans rupture de pente, la dérivée à la fin d'un arc doit donc être égale à la dérivée à l'origine de l'arc suivant.

    Pour créer une telle courbe il faut pouvoir définir de façon automatique la pente en chaque point donné. Il existe plusieurs façons de définir ces pentes; on peut, par exemple, choisir comme pente en un point donné la même pente que le segment qui relie les deux points adjacents.

    Ce choix des pentes ne s'applique ni au premier point, ni au dernier point et il faut donc une autre méthode pour choisir les pentes aux extrémités de la courbe. On peut, par exemple, choisir comme pente au premier point la pente du segment qui relie les deux premiers points et pour le dernier point, la pente du segment qui relie les deux derniers points. Une autre méthode (meilleure) consiste à choisir, pour le premier point, la pente correspondante d'une parabole passant par les trois premiers points et de même pour le dernier point.

    2ème arc

    P1

    P2

    (P3

    P4

    P5

    3ème arc

    4ème arc

    1er arc

  • 16 Courbes et interpolations

    Exercice 17

    a) Trouver les coefficients a, b, c, d d'une fonction f(x) = ax3 + bx2 + cx + d, telle que f(0) = 0, f(x1) = y1, f'(0) = p0 et f'(x1) = p1 (x1, y1, p0 et p1 sont donnés)

    Indication, on trouve

    d = 0, c = p0, 1 1 0 121

    3 (2 )y x p pb

    x

    et 1 0 1

    2

    1

    ( 2 )

    3

    p p bxa

    x

    b) Étant donné P1(PX(1);PY(1)) et P2(PX(2);PY(2)) (donnés à l'aide de la souris) ainsi que les valeurs p1 et p2 (données dans une zone de texte), écrire le programme qui trace un arc de cubique d'extrémités P1 et P2, dont la pente en P1 vaut p1 et la pente en P2 vaut p2.

    c) Étant donné n points du plan P1 de coordonnées (PX(1);PY(1)), P2 de coordonnées (PX(2);PY(2)), …, Pn de coordonnées (PX(n);PY(n)), écrire le programme qui trace une courbe for-mée d'une succession d'arcs de cu-bique.

    Les extrémités du premier arc sont les points P1 et P2, la pente p1 est la même que celle du segment P1 P2 et la pente en P2 est la même que celle du segment P1 P3.

    Les extrémités du deuxième arc sont les points P2 et P3, la pente en P2 est la même que celle du segment P1 P3 et la pente en P3 est la même que celle du segment P2 P4.

    Les extrémités du dernier arc sont les points Pn-1 et Pn.

    La pente en Pn-1 est la même que celle du segment Pn-2 Pn.

    La pente en Pn est la même que celle du segment Pn-1 Pn.

    d) Modifier l'exercice précédent de sorte que la pente au premier point soit la même que celle de la parabole qui passe par les trois premiers points et que la pente au dernier point soit la même que celle de la pa-rabole qui passe par les trois derniers points.

    e) Modifier encore le programme de sorte que, plutôt que de choisir en chaque point la pente du segment qui relie les deux points voisins, il choisisse la pente, en ce point, de la parabole qui passe par trois points consécutifs : la pente en Pk est celle, en Pk, de la parabole qui passe par Pk-1, Pk et Pk+1.

  • § 6 Interpolation cubique 17

    Exercice 18

    On appelle souvent spline une courbe formée d’arcs de polynômes, par exemple d’arcs paraboliques ou d’arcs cubiques. Un vrai spline, ou spline naturel, est formé d’arcs de cubiques et possède les propriétés supplémen-taires suivantes :, il est partout 2 fois dérivable et possède une deuxième dérivée nulle aux extrémités.

    Un vrai spline passant par n points du plan P1(x1 ;y1), P2(x2 ;y2), …, Pn(xn ;yn) est donc formé de cubiques f1, f2, …, fn-1, telles que,

    f1 (x1) = y1 f1’’(x1) = 0 f1(x2) = y2 f2 (x2) = y2 f2’ (x2) = f1’(x2) f2’’ (x2) = f1’’(x2) f2(x3) = y3 f3(x3) = y3 f3’ (x3) = f2’(x3) f3’’ (x3) = f2’’(x3) f3(x4) = y4 …………… ….……………… .……………….…… …..…………. fn-1(xn-1) = yn-1 fn-1’(xn-1) = fn-2’(xn-1) fn-1’’(xn-1) = fn-2’’(xn-1) fn-1(xn) = yn et fn-1’’(xn) = 0

    On obtient ainsi un système de 4(n – 1) équations à 4(n – 1) inconnues (les 4 coefficients des n – 1 cubiques).

    a) Déterminer, en posant, puis résolvant un système de 8 équations à 8 inconnues, les 2 cubiques

    3 2

    1 1 1 1 1( )f x a x b x c x d et 3 2

    2 2 2 2 2( )f x a x b x c x d

    formant le vrai spline qui passe par les points A(–1 ;1), B(0 ;0) et C(1 ;3).

    À l’aide de Mathematica, dessiner ce spline pour 𝑥 ∈ [−1; 1] et compa-rer cette courbe avec la parabole qui passe par les points A, B et C.

    Rappel sur l’utilisation de Mathematica

    ● Définition d’une fonctions f[x_] :=x^2 + 2x +4

    ● Fonction définie sur des intervalles f[x_] :=If[x {–1,3},AspectRatio -> Automatic]

    P1

    P2

    P3

    P4

    P5

    f4’’(x5)=0

    f1’(x2) = f2’(x2) f1’’(x2) = f2’’(x2)

    f2’(x2) = f3’(x2) f2’’(x2) = f3’’(x2)

    f3’(x2) = f4’(x2) f3’’(x2) = f4’’(x2)

    f1 f2(

    f3 f4

    f1’’(x1)=0

  • 18 Courbes et interpolations

    Pour déterminer le spline défini par n points, le système d’équation est dif-ficile à résoudre, nous ne le ferons pas ici.

    b) Pour se convaincre que la condition sur la nullité des deuxièmes déri-vées aux extrémités est significative, écrire un programme qui, à partir de n points cliqués et de la pente au premier point donnée dans une zone de texte, construit une courbe formée d’arcs de cubiques f1, f2, …, fn-1, satisfaisant aux conditions suivantes.

    f1 (x1) = y1 f1’(x1) donné f1’’(x1) = 0 f1(x2) = y2 f2 (x2) = y2 f2’ (x2) = f1’(x2) f2’’ (x2) = f1’’(x2) f2(x3) = y3 f3(x3) = y3 f3’ (x3) = f2’(x3) f3’’ (x3) = f2’’(x3) f3(x4) = y4 …………… ….…………… .………………. …..….… fn-1(xn-1) = yn-1 fn-1’(xn-1) = fn-2’(xn-1) fn-1’’(xn-1) = fn-2’’(xn-1) fn-1(xn) = yn

    Quatre conditions étant données pour chaque cubique, il est ainsi pos-sible, et simple, de les déterminer.

    Le programme doit encore afficher la deuxième dérivée en xn.

    c) Le programme terminé, chercher, pour n points donnés, quelle pente il faut attribuer au premier point pour que la deuxième dérivée au der-nier point soit nulle et constater que la courbe pour laquelle cette deu-xième dérivée est nulle est la plus élégantes.

    d) Compléter le programme de sorte qu’il détermine par bissection la pente au premier point de sorte que la deuxième dérivée au dernier point soit nulle.

    Indication Créer, à partir du programme réa-lisé au point b, une fonction spline(p) qui dessine l’interpolation cubique ayant au premier point une pente p et fourni la valeur de la deuxième dérivée au dernier point. Faire chercher ensuite par bissec-tion un zéro de cette fonction.

  • § 7 Courbes paramétrées et éléments de cinématique 19

    § 7 Courbes paramétrées et éléments de cinématique

    Exemples 1

    La droite d passant par (1;2)A et parallèle au vecteur 11d

    peut être dé-

    crite par l'équation paramétrique 1: où2x td t IRy t .

    Avec Mathematica, la commande ParametricPlot[{1+t, 2–t},{t , -4 , 4} ,AspectRatio Automatic]

    trace cette courbe dans un repère orthonormé. L'option AspectRatio permet de préciser le rapport hauteur/largeur de la fenêtre d'affichage.

    Cette même équation 12x ty t décrit le mouvement d'un point mobile M sur la droite d. À l'instant t = 0 le point M est situé en (1;2), à l'instant t = 1 le point M est situé en (2;1), …

    Exemples 2

    1 2 5 cos( ): [0;2 ]4 5 sin( )x tc ty t est l'équation paramétrique d'un cercle c de centre (2;4)C et de rayon r = 5. C'est également l'équation du mouve-

    ment d'un point mobile M1 qui se déplace sur ce cercle.

    2

    22

    2 5 cos( ): [0; 2 ]

    4 5 sin( )x t

    c ty t

    est une équation paramétrique du

    même cercle de centre (2;4)C et de rayon r = 5. Le mobile M2 se déplace

    sur ce même cercle, mais à des vitesses différentes.

    Le vecteur 2 5cos( )( ) 4 5sin( )tr t t est le vecteur position.

    Le vecteur 5sin( )( ) 5cos( )tv t t est le vecteur vitesse que l'on obtient en dérivant x et y en fonction de t. Ce vecteur vitesse est tangent à la courbe en, sa norme donne la vi-tesse du mobile M en t. La vitesse

    2 2

    ( ) 5sin( ) 5cos( ) 5v t t t

    est ici constante.

    Le vecteur 2

    2

    2 5cos( )( )

    4 5sin( )t

    r tt

    est

    le vecteur position.

    Le vecteur 2

    2

    10 sin( )( )

    10 cos( )t t

    v tt t

    est

    le vecteur vitesse que l'on obtient en dérivant x et y en fonction de t. Ce vecteur vitesse est tangent à la courbe, sa norme donne la vitesse du mobile M en t.

    La vitesse ( ) 10v t t n’est pas cons-

    tante.

  • 20 Courbes et interpolations

    1 1

    1

    1

    Le vecteur 5cos( )( ) 5sin( )ta t t est le vecteur accélération que l'on ob-tient en dérivant le vecteur vitesse.

    Le vecteur accélération est ici per-pendiculaire au vecteur vitesse ( )v t

    2 2 2

    2 2 2

    10sin( ) 20 cos( )( )

    10cos( ) 20 sin( )t t t

    a tt t t

    est

    le vecteur accélération que l’on peut décomposer en accélération tan-gentielle ( )ta t , parallèle à ( )v t ) et

    accélération normale (ou centri-pète) ( )na t , perpendiculaire à ( )v t .

    2 22

    2 2 2

    20 cos( )10sin( )( )

    10cos( ) 20 sin( )t tt

    a tt t t

    Exemples 3

    Équation paramétrique d'une courbe de Lissajous

    sin(7 ): où [0;2 ]cos(3 )x tc ty t Vecteur position : sin(7 )( ) cos(3 )tr t t Vecteur vitesse : 7cos(7 )( ) 3sin(3 )tv t t Vitesse: 2 2( ) 49cos (7 ) 9sin (3 )v t t t

    Vecteur accélération : 49sin(7 )( ) 9cos(3 )ta t t Ce vecteur accélération peut-être décomposé en une composante tangen-tielle ( )ta t , parallèle au vecteur vitesse, et une composante normale ( )na t ,

    perpendiculaire au vecteur vitesse.

    5

    2π t

    v

    Graphe de la vitesse en fonction du temps

    t

    v

    Graphe de la vitesse en fonction du temps

    10 2π

  • § 7 Courbes paramétrées et éléments de cinématique 21

    Une courbe paramétrée est formée de l'ensemble des points ( ; )P x y dont

    les coordonnées sont des fonctions ( )( )x g ty h t avec t variant dans un inter-valle I.

    Le point P parcourt une trajectoire, sa position dépend du paramètre t (le temps). Le mouvement du point mobile P est décrit par les fonctions g et h.

    • Le vecteur ( )( ) ( )g tr t h t est le vecteur position, il dépend du temps t.

    • Le vecteur '( )( ) '( )g tv t h t est le vecteur vitesse, il dépend du temps t, il est tangent à la courbe en ( ; )P x y où ( ) et ( )x g t y h t .

    • La vitesse v au temps t est égale à la norme du vecteur vitesse, donc

    2 2

    ( ) '( ) '( )v t g t h t

    • Le vecteur ''( )''( )g ta h t est le vecteur accélération, il dépend du temps t.

    • Le vecteur accélération se décompose en une accélération tangentielle

    ta , tangente à la courbe et donc parallèle au vecteur vitesse et une ac-

    célération normale na , normale à la courbe et donc perpendiculaire au

    vecteur vitesse.

    • L'accélération tangentielle ( )ta t est la norme du vecteur ta , elle est

    égale à la dérivée de la vitesse ( ) '( )ta t v t .

    • L'accélération normale ( )na t est la norme du vecteur na , on a 2 ( )

    ( )nv t

    a tR

    où R est le rayon du cercle osculateur en t (R est appelé

    rayon de courbure en t).

    Montrer que 𝑅 =‖�⃗� ‖3

    ‖�⃗� ∧�⃗� ‖.

    ( )r t

    ( )v t

    ( )na t

    ( )a t

    ( )ta t

    1u

    2u

  • 22 Courbes et interpolations

    1 2 3 4 5 6

    1

    2

    2 1 1

    1

    1

    3 2 1 1

    1

    1

    Exemples

    Le dessin de la courbe

    sin(2 ): [0;2π]cos( )x tc ty t est donnée ci-contre ainsi que le vecteur vitesse en

    0(sin(2 ),cos( ))P t t pour quelques valeurs de t

    (t = 0, t = /2, t = et t = 3/2)

    sin(2 ) 2cos(2 ) 4sin(2 )( ) , ( ) , ( )cos( ) sin( ) cos( )t t tr t v t a tt t t La vitesse

    2 2( ) 2cos(2 ) sin( )v t t t

    en 0 0 0(sin(2 ),cos( ))P t t dépend de t, le

    graphe de v(t) est donné ci-contre.

    En π4

    t on a :

    2 2 2

    2 2 2

    222

    1 0 4, , ,

    0 4,

    0t n

    r v a

    a va v a

    v

    Exercice 19

    Dessiner la courbe

    𝑐: {𝑥 = 𝑡2 − 1𝑦 = 𝑡3 − 𝑡

    ou 𝑡 ∈ [−2; 2] et tracer quelques vecteurs vitesse et vecteurs accélération après avoir complété le ta-bleau ci-contre.

    En quels points de la courbe la vitesse est-elle minimale ?

    Déterminer le vecteur accélération tangentielle et le vecteur accélération normal en t = –1. Donner, en ce point le centre et le rayon du cercle oscula-teur.

    Trouver, s'ils existent, les points pour lesquels le vec-teur accélération est parallèle au vecteur vitesse et les points pour lesquels le vecteur accélération est perpen-diculaire au vecteur vitesse.

    Écrire un programme qui trace cette courbe.

    Compléter le programme de sorte que, pour une valeur de t donnée, il trace encore les vecteurs vitesse et accé-lération ainsi que le cercle osculateur.

    t -2 -1,5 -1 -0,5 0 0,5 1 1,5 2

    x

    y

    x'

    y'

    v

    x''

    y''

  • § 7 Courbes paramétrées et éléments de cinématique 23

    Exercice 20

    a) Trouver l’équation d’une cycloïde, tra-jectoire que parcourt un point fixe d’un cercle lorsque celui-ci roule.

    b) Trouver l'équation paramétrique d'une hypocycloïde allongée, trajec-toire que parcourt un point fixe d'un rayon allongé (de longueur 2) d'un cercle (de rayon 1) roulant à l'inté-rieur d'un autre cercle (de rayon 7).

    Exercice 21

    Étudier la néphroïde n : 33 cos( ) cos(3 ) [0;2π]4sin ( )x t t ty t Intersections avec les axes, points à tangente horizontale et verticale, points à vitesse maximale et minimale et dessin.

    Exercice 22

    A partir de l'équation paramétrique du cercle centré à l'origine,

    {𝑥 = 𝑟 cos(𝑡)𝑦 = 𝑟 sin (𝑡)

    𝑡 ∈ [0; 2𝜋] , et en faisant varier le rayon r, trouver une

    équation paramétrique pour chacune des courbes données ci-dessous.

    a)

    -0.5 0.5 1

    -1 -0.75 -0.5 -0.25

    0.25 0.5 0.75

    b)

    -0.75 -0.5 -0.25 0.25 0.5 0.75

    -0.75 -0.5 -0.25

    0.25 0.5 0.75

    c)

    Exercice 23

    Écrire un programme qui trace le graphe d’une courbe paramétrée, puis tester ce programme avec les courbes données ci-dessous.

    Courbe de Moritz Cardioïde

    cos(0.9 ) cos( ): cos(0.9 ) sin( )x t tc y t t (1 cos( )) cos( ): (1 cos( )) sin( )x t tc y t t

    p

    M

    7

    1 2 P(x;y)

  • 24 Courbes et interpolations

    Exercice 24

    On considère la courbe 2

    1 1 12

    2 2 2

    : où [0;1]x a t b t c

    c ty a t b t c

    .

    Trouver a1, a2, b1, b2, c1, c2, sachant que :

    a) c passe par les points (0;0)A (en t = 0), (2;1)B (en t = ½ ) et (0; 2)C

    (t = 1)

    b) c passe par les points (0;0)A (en t = 0) et (0; 2)C (en t = 1), il admet le

    vecteur vitesse 44v au point A. Déterminer les points d'intersection de ces 2 courbes avec l'axe Ox ainsi que les points à tangente horizontale et les points à tangente verticale.

    Trouver le point à vitesse minimale de la première de ces deux courbes.

    Calculer les coordonnées des points d'intersection des deux courbes.

    Exercice 25

    Trouver l'équation paramétrique d'une courbe dont les 2 fonctions coordonnées sont des cu-biques, qui débute au point O(0 ; 0) au temps t =

    0 avec le vecteur vitesse 0 22v et qui se ter-mine, au temps t = 1, au point O(0 ;0) également

    mais avec le vecteur vitesse. 1 22v . Déterminer le vecteur vitesse et le vecteur accélération en t = ½ et en t=¼.

    Déterminer la vitesse, l'accélération tangentielle, l'accélération normale et le rayon de courbure en t = ½ et en t = ¼.

    Déterminer le point le plus haut de cette courbe.

    Pour quelles valeurs de t la vitesse est-elle la plus petite ?

    Exercice 26

    Écrire un programme qui, étant donné des points du plan, trace une courbe fermée reliant ces points.

    Cette courbe est formée d’arcs de cubique donnés sous forme paramétrique.

    Choisir comme vecteur vitesse au point Pk le vecteur

    11 kkk PPmv où m vaut par exemple 0,8.

    Compléter le programme de sorte que la valeur de m puisse être choisie.

  • § 8 Courbes de Bézier 25

    § 8 Courbes de Bézier

    Dans les années 60, Pierre Bézier (1910-1999), ingénieur chez Renault, imagina une méthode permettant de construire simplement des courbes et des surfaces et de les décrire mathématiquement. Cette méthode, initiale-ment destinée à la conception de carrosserie de voiture, fut reprise par la suite comme base du langage de description graphique PostScript. Actuel-lement les polices de caractère utilisées par les ordinateurs sont décrites par des courbes de Bézier et la plupart des programmes de dessin et des imprimantes laser utilisent ces courbes.

    Un arc de Bézier est défini graphiquement par ses 2 extrémités (points prin-cipaux 𝑃0 et 𝑃3) et par 2 (ou plus) points de contrôle (points secondaires 𝑃1 et 𝑃2).

    Une courbe de Bézier est formée d'une succession d'arc de Bézier.

    L'exemple ci-dessous illustre l'utilisation d'une succession d'arcs de Bézier

    pour former la lettre "a".

    Un arc de Bézier est défini mathématiquement par une courbe paramétrée où chaque point 𝑃 de la courbe est défini par une moyenne pondérée des points 𝑃0 , 𝑃1 , 𝑃2 et 𝑃3.

    𝑂𝑃⃗⃗⃗⃗ ⃗ = 𝑝0(𝑡) ∙ 𝑂𝑃0⃗⃗ ⃗⃗ ⃗⃗ ⃗ + 𝑝1(𝑡) ∙ 𝑂𝑃1⃗⃗ ⃗⃗ ⃗⃗ ⃗ + 𝑝2(𝑡) ∙ 𝑂𝑃2⃗⃗ ⃗⃗ ⃗⃗ ⃗ + 𝑝3(𝑡) ∙ 𝑂𝑃3⃗⃗ ⃗⃗ ⃗⃗ ⃗

    avec, comme conditions :

    𝑝0(𝑡) + 𝑝1(𝑡) + 𝑝2(𝑡) + 𝑝3(𝑡) = 1 (pour tout 𝑡) (moyenne)

    𝑝0(0) = 1, 𝑝1(0) = 0, 𝑝2(0) = 0 et 𝑝3(0) = 0 (la courbe passe par P0 en t=0)

    𝑝0(1) = 0, 𝑝1(1) = 0, 𝑝2(1) = 0 et 𝑝3(1) = 0 (la courbe passe par P3 en t=1)

    P0

    P1

    P2

    P3

  • 26 Courbes et interpolations

    Pour trouver les poids 𝑝0(𝑡), 𝑝1(𝑡), 𝑝2(𝑡) et 𝑝3(𝑡), Bézier eut l'idée de déve-lopper

    [(1 − 𝑡) + 𝑡]3 = (1 − 𝑡)3 + 3(1 − 𝑡)2𝑡 + 3(1 − 𝑡)𝑡2 + 𝑡3

    et de choisir

    𝑝0(𝑡) = (1 − 𝑡)3, 𝑝1(𝑡) = 3(1 − 𝑡)

    2 ∙ 𝑡, 𝑝2(𝑡) = 3(1 − 𝑡) ∙ 𝑡2 𝑒𝑡 𝑝3(𝑡) = 𝑡

    3

    Un arc de Bézier est donc donné par

    𝑂𝑃⃗⃗ ⃗⃗ ⃗ = (1 − 𝑡)3 ⋅ 𝑂𝑃⃗⃗ ⃗⃗ ⃗0 + 3(1 − 𝑡)2 ⋅ 𝑡 ⋅ 𝑂𝑃⃗⃗⃗⃗ ⃗1 + 3(1 − 𝑡) ⋅ 𝑡

    2 ⋅ 𝑂𝑃⃗⃗ ⃗⃗ ⃗2 + 𝑡3 ⋅ 𝑂𝑃⃗⃗ ⃗⃗ ⃗3 , 𝑡 ∈ [0; 1]

    Les coordonnées de P sont donc des fonctions du 3ème degré en t, l'arc est un arc de cubique qui commence en P0 (t = 0) et se termine en P3 (t = 1)

    Exercice 27

    Vérifier que les 4 conditions définies ci-dessus sont satisfaites par les poids p0(t), p1(t), p2(t) et p3(t) donnés par Bézier.

    Vecteurs vitesses

    Par dérivation, on trouve le vecteur vitesse le long de l'arc de Bézier :

    𝑣 = −3(1 − 𝑡)2𝑂𝑃⃗⃗⃗⃗ ⃗0 + 3(1 − 4𝑡 + 3𝑡2)𝑂𝑃⃗⃗⃗⃗ ⃗1 + 3(2𝑡 − 3𝑡

    2)𝑂𝑃⃗⃗⃗⃗ ⃗2 + 3𝑡2𝑂𝑃⃗⃗⃗⃗ ⃗3

    Si 𝑡 = 0, la vitesse vaut 𝑣 = −3𝑂𝑃⃗⃗⃗⃗ ⃗0 + 3𝑂𝑃⃗⃗⃗⃗ ⃗1 = 3𝑃0𝑃⃗⃗⃗⃗⃗⃗ ⃗1.

    Au départ, le vecteur vitesse est égal à 3𝑃0𝑃⃗⃗⃗⃗⃗⃗ ⃗1.

    Si t = 1, la vitesse vaut 𝑣 = −3𝑂𝑃⃗⃗⃗⃗ ⃗2 + 3𝑂𝑃⃗⃗⃗⃗ ⃗3 = 3𝑃2𝑃⃗⃗⃗⃗⃗⃗ ⃗3.

    À l'arrivée, le vecteur vitesse est égal à 3𝑃2𝑃⃗⃗⃗⃗⃗⃗ ⃗3.

    Exercice 28

    a) Écrire un programme qui trace un arc de Bézier défini par 4 points donnés avec la souris.

    b) Compléter le programme de sorte qu'une valeur pour t étant donnée entre 0 et 1 (dans une zone de texte), il place le point correspondant ainsi que le tiers du vecteur vitesse en ce point.

  • § 8 Courbes de Bézier 27

    Exercice 29

    Trouver les équations paramé-triques d'un arc de Bézier donné par P0(0;0), P1(0;1), P2(2;2) et P3(3;0), esquisser la courbe obte-nue puis trouver les vecteurs vi-tesses et accélération en t = 0, t = ½ et t = 1.

    Exercice 30

    a) Trouver les quatre points P0, P1, P2 et P3 d'un arc de Bézier qui ressemble au graphe de la fonc-tion y = sin(x) pour [0; ]x .

    b) Écrire un programme qui, pour un nombre entier n donné, trace une interpolation du graphe de y = sin(x) pour

    [0; ]x n par une succession

    d'arcs de Béziers.

    Exercice 31

    Paul de Casteljau, (mathématicien chez Citroën) développa la méthode sui-vante pour construire géométriquement un point S d'un arc de Bézier :

    Le point S est un point de l'arc de Bézier, de plus l'arc de Bézier peut être scindé en 2 arcs plus petits, l'arc défini par P0 Q0 R0 S et l'arc S R1 Q2 P3.

    a) Construire, par l'algorithme de Casteljau pour t = 41 et t = 21 , les points

    de l'arc de Bézier donné par P0(-6;2), P1(-2,10), P2(2;-10) et P3(6;2) puis esquisser cet arc.

    b) Construire un arc de Bézier donné par 4 points avec Cabri.

    1

    1

    2 3

    P0(0;0)

    P1(0;1)

    P2(2;2)

    P3(3;0)

    P0

    P1

    P3

    P2

    Q0

    Q1

    Q2

    R0

    R1

    S

    Algorithme de Casteljau pour t = ⅓

    0 0 0 1PQ t P P

    1 1 1 2PQ t PP

    2 2 2 3PQ t P P

    1 1 1 2Q R t QQ

    0 0 0 1Q R t Q Q

    0 0 1R S t R R

  • 28 Courbes et interpolations

    Exercice 32

    A. Un arc de Bézier formé des points 𝑃(𝑥; 𝑦) tels que

    𝑂𝑃⃗⃗⃗⃗ ⃗ = (1 − 𝑡)3𝑂𝑃⃗⃗⃗⃗ ⃗0 + 3(1 − 𝑡)2𝑡𝑂𝑃⃗⃗⃗⃗ ⃗1 + 3(1 − 𝑡)𝑡

    2𝑂𝑃⃗⃗⃗⃗ ⃗2 + 𝑡3𝑂𝑃⃗⃗⃗⃗ ⃗3 , 𝑡 ∈ [0; 1]

    est donné par ses extrémités 𝑃0(0; 0) et 𝑃3(2; 0) et par deux points se-condaires 𝑃1(0; 1) et 𝑃2(1; 0).

    a) Esquisser cet arc.

    b) Déterminer les coordonnées du point 𝑀 correspondant à 𝑡 = ⅓ ainsi que les composantes du vecteur vitesse en 𝑀.

    c) On fractionne cet arc de Bézier en deux, le premier d'extrémités 𝑃0 et 𝑀, le second d'extrémités 𝑀 et 𝑃3, de sorte que la courbe globale, dé-finie par ces deux arcs, soit la même que celle esquissée au point a). Déterminer les points secondaires d'un de ces arcs.

    B. On désire disposer d'une procédure permettant de localiser un point d'un arc de Bézier affiché à l'écran, ce point étant désigné avec la souris.

    On suppose que l'arc est donné par deux fonctions 𝑥 = 𝑓(𝑡) et 𝑦 = 𝑔(𝑡), 𝑡 variant de 0 à 1.

    Écrire la procédure qui, à partir des coordonnées (𝑥𝑆; 𝑦𝑆).de la souris, détermine une valeur 𝑡0 du paramètre 𝑡 de sorte que le point de coor-données 𝑥 = 𝑓(𝑡0) et 𝑦 = 𝑔(𝑡0), soit un point de l'arc proche du point (xs ; ys).

    Pour chercher une telle valeur de t0, partager l'intervalle temps [0; 1] en 64 parties égales, définir ainsi 65 points de l'arc, déterminer alors le points qui, parmi ces 65 points est le plus proche (𝑥𝑆; 𝑦𝑆).

    Exercice 33

    Un arc de Bézier donné par 𝑛 + 1 points (2 points principaux et 𝑛 − 1

    points secondaires) est défini par : 𝑂𝑃⃗⃗⃗⃗ ⃗ = ∑ (𝑛𝑘) ∙ 𝑡𝑘 ∙ (1 − 𝑡)𝑛−𝑘 ∙ 𝑂𝑃𝑘⃗⃗ ⃗⃗ ⃗⃗ ⃗

    𝑛𝑘=0

    a) Sachant que (𝑛𝑘) =

    𝑛!

    𝑘!(𝑛−𝑘)!, monter que (

    𝑛𝑘) = (

    𝑛𝑘 − 1

    ) ∙𝑛+1−𝑘

    𝑘

    b) Écrire un programme qui trace un arc de Bézier donné par 𝑛 + 1 points.

    Clic