Retour à la page personnelle de Bernard Parisse.

# Chapitre 12 Exemples de courbes en paramétrique

## 12.1 Les cycloïdes

### 12.1.1 La cycloïde

#### La courbe

Une cycloïde est le lieu d’un point M situé sur un cercle qui roule sans glisser sur une droite.
Si au départ M est à l’origine O, si le cercle C, de centre A et rayon R, roule sur l’axe des x, si P est le point de contact de C avec Ox lorsque C a tourné d’un angle t, on a :
OP=Rt,AP=−iR et AM=rotation(A,−t,AP)=−Ri(cos(−t)+isin(−t))=−Rsin(t)−Ri(cos(t) donc
OM=OP+PA+AM=Rt+iR−Rsin(t)−Ri(cos(t))=R(t−sin(t)+i(1−cos(t)) L’équation paramétrique d’une cycloïde est donc :

x=R(t−sin(t)); y=R(1−cos(t))

Avec `Xcas`
On tape :

    R:=element(0..5);
    plotparam(R*(t-sin(t)+i*(1-cos(t))),t,affichage=rouge);

On peut faire une animation pour voir le déplacement d’un point `M` d’un cercle `C` de rayon `R` lorsque `C` roule sur l’axe des `x`.
On tape :

    R:=element(0..5);
    plotparam(R*(t-sin(t)+i*(1-cos(t))),t=-10..10,affichage=rouge);
    animation(seq('cercle(R*u+i*R,R)',u,-10,10,0.5));
    animation(seq('M:=point(R*(u-sin(u)+i*(1-cos(u))))',u,-10,10,0.5));
    animation(seq('segment( R*u+i*R, R*(u+i-i*exp(-i*u)))',u,-10,10,0.5));

On peut aussi faire une animation pour voir l’infuence du rayon `R`, mais ici, cela n’a pas beaucoup d’interêt.
On tape :

    animation(seq('plotparam(R*(t-sin(t)+i*(1-cos(t))),
                   t=-10..10,affichage=rouge)',R,0,3,0.1));

#### La longueur d’une arche de cycloïde

On peut calculer la longueur d’une arche de cycloïde.
On a : ds2=dx2+dy2 On tape :
`tlin(diff(R*(t-sin(t)),t)```^```2+diff(R*(1-cos(t)),t)```^```2)`
On obtient : `2*R```^```2+(-2*R```^```2)*cos(t)`
On tape :
`trigsin(halftan(2*R```^```2+(-2*R```^```2)*cos(t))` On obtient : `4*R```^```2*sin(t/2)```^```2`
Quand t varie de 0 à 2π, la longueur d’une arche de cycloïde est :
`normal(int(2*R*sin(t/2),t,0,2*pi))`
On obtient : `8*R`

### 12.1.2 La cycloïde raccourcie

Une cycloïde raccourcie est le lieu d’un point P situé sur un rayon AM du cercle de centre A qui roule sans glisser sur une droite.
Si AP=k*AM=k*R avec k<1, l’équation paramétrique d’une cycloïde raccourcie est donc :

x=R(t−k*sin(t)); y=R(1−k*cos(t)) avec k<1

Avec `Xcas`, on tape :

    R:=element(0..3);
    k:=element(0..1);
    plotparam(R*(t-k*sin(t)+i*(1-k*cos(t))),t,affichage=rouge);

### 12.1.3 La cycloïde allongée ou trochoïde

Une cycloïde allongée ou trochoïde est le lieu d’un point Q situé sur le prolongement du rayon AM du cercle de centre A qui roule sans glisser sur une droite.
Si AQ=k*AM=k*R avec k>1, l’équation paramétrique d’une cycloïde allongée donc :

x=R(t−k*sin(t)); y=R(1−k*cos(t)) avec k>1

Avec `Xcas`, on tape :

    R:=element(0..3);
    k:=element(1..5);
    plotparam(R*(t-k*sin(t)+i*(1-k*cos(t))),t,affichage=rouge);

### 12.1.4 Les cycloïdes

On peut faire une animation pour voir le déplacement d’un point `M` d’un cercle `C` de centre `A` et de rayon `R`, et d’un point `P` du rayon `AM` lorsque `C` roule sur l’axe des `x`.
On tape :

    R:=element(0..3);
    k:=element(0..5,0.84);
    plotparam(R*(t-sin(t)+i*(1-cos(t))),t=-8..8,affichage=rouge);
    plotparam(R*(t-k*sin(t)+i*(1-k*cos(t))),t=-8..8,affichage=vert);
    animation(seq('cercle(R*u+i*R,R)',u,-8,8,0.5));
    animation(seq('M:=point(R*(u-sin(u)+i*(1-cos(u))))',u,-8,8,0.5));
    animation(seq('P:=point(R*(u-k*sin(u)+i*(1-k*cos(u))))',u,-8,8,0.5));
    animation(seq('segment(R*u+i*R,R*(u+i-i*max(k,1)*exp(-i*u)))',u,-8,8,0.5));

On peut aussi faire une animation pour voir le déplacement d’un point `M` d’un cercle `C` de centre `A` et de rayon `R`, d’un point `P` du rayon `AM` et d’un point `Q` sur le prolongement du rayon `AM` lorsque `C` roule sur l’axe des `x`.
On tape :

    R:=element(0..3);
    k:=element(0 .. 1,0.84);
    l:=element(1 .. 4,2);
    plotparam(R*(t-sin(t)+i*(1-cos(t))),t=-10..10,affichage=rouge);
    plotparam(R*(t-k*sin(t)+i*(1-k*cos(t))),t=-10..10,affichage=vert);
    plotparam(R*(t-l*sin(t)+i*(1-l*cos(t))),t=-10..10,affichage=bleu);
    animation(seq('cercle(R*u+i*R,R)',u,-10,10,0.5));
    animation(seq('M:=point(R*(u-sin(u)+i*(1-cos(u))))',u,-10,10,0.5));
    animation(seq('P:=point(R*(u-k*sin(u)+i*(1-k*cos(u))))',u,-10,10,0.5));
    animation(seq('Q:=point(R*(u-l*sin(u)+i*(1-l*cos(u))))',u,-10,10,0.5));
    animation(seq('segment( R*u+i*R, R*(u+i-i*l*exp(-i*u)))',u,-10,10,0.5));

## 12.2 Épicycloïde et hypocycloïde

### 12.2.1 Épicycloïde

Une épicycloïde est le lieu d’un point M situé sur un cercle C, de centre A et de rayon R, qui roule sans glisser sur un cercle C0, de rayon R0, lorsque C se trouve à l’extérieur de C0.
Si le cercle C0 est de centre O, si au départ M est en I sur Ox, si P est le point de contact de C avec C0 lorsque C a tourné d’un angle u, P a tourné d’un angle t sur C0, on a :
IP=R0t=Ru,
OA=(R+R0)(cos(t)+isin(t)), PA=R(cos(t)+isin(t)),
AM=rotation(A,u,AP)=−R(cos(t)+isin(t))(cos(u)+isin(u))=
−R(cos(u+t)+isin(u+t))=−R(cos((R0/R+1)t)+isin((R0/R+1)t))
On a :
OM=OA+AM= (R+R0)(cos(t)+isin(t))−R(cos((R0/R+1)t)+isin((R0/R+1)t))
Si on pose R0/R+1=m, l’équation paramétrique d’une épicycloïde est donc :

x=R(mcos(t)−cos(mt)); y=R(msin(t)−sin(mt))

La courbe se referme si 2kπ R0=2nπ R c’est à dire si le rapport R0/R est rationnel.

Cas particuliers
R=R0 on a une cardioïde,
R=R0/2 on a une néphroïde de rebroussement,
Avec `Xcas`
On tape :

    C:=cercle(0,3);
    R:=element(0.1..4);
    m:=3/R+1;
    plotparam(R*m*cos(t)-R*cos(m*t)+i*(R*m*sin(t)-R*sin(m*t)),
              t=-10..10,affichage=rouge);

On a choisit R0=3. On peut ainsi faire varier R et voir les 4 cas :
R=1, R=1.5, R=3, R=4. On peut faire une animation et voir le déplacement d’un point `M` d’un cercle `C` de centre `A` et de rayon `R` lorsque ce cercle roule à l’extérieur d’un cercle `C0` de centre `0` et de rayon `3`.
On tape :

    C:=cercle(0,3);
    R:=element(0..5);
    m:=3/R+1;
    plotparam(R*m*cos(t)-R*cos(m*t)+i*(R*m*sin(t)-R*sin(m*t)),
           t=-10..10,affichage=rouge);
    animation(seq('cercle((3+R)*exp(i*v),R)',v,-10,10,0.5));
    animation(seq('M:=point(R*m*cos(v)-R*cos(m*v)+
           i*(R*m*sin(v)-R*sin(m*v)))',v,-10,10,0.5));

### 12.2.2 Hypocycloïde

Une hypocycloïde est le lieu d’un point M situé sur un cercle C, de centre A et de rayon R, qui roule sans glisser sur un cercle C0, de rayon R0>R, lorsque C se trouve à l’intérieur de C0.
On peut changer R en −R dans l’équation d’une épicycloïde ou refaire les calculs...
Si le cercle C0 est de centre O, si au départ M est en I sur Ox, si P est le point de contact de C avec C0 lorsque C a tourné d’un angle u, P a tourné d’un angle t sur C0, on a :
IP=R0t=−Ru (car u est négatif et R positif),
OA=(R0−R)(cos(t)+isin(t)),
PA=−R(cos(t)+isin(t)),
AM=rotation(A,u,AP)=R(cos(t)+isin(t))(cos(u)+isin(u))=R(cos(u+t)+isin(u+t))=−R(cos((R0/R−1)t)+isin((R0/R−1)t))
On a :
OM=OA+AM=(R0−R)(cos(t)+isin(t))−R(cos((R0/R−1)t)+isin((R0/R−1)t))
Si on pose −R0/R+1=m, l’équation paramétrique d’une hypocycloïde est donc :

x=−R(mcos(t)−cos(mt)); y=−R(msin(t)−sin(mt))

La courbe se referme si 2kπ R0=2nπ R c’est à dire si le rapport R0/R est rationnel.

Cas particuliers
R=2R0/3 on a une hypocycloïde à 3 rebroussements,
R=R0/4 on a une astroïde,
Avec `Xcas`
On tape :

    C:=cercle(0,3);
    R:=element(0..2.9);
    m:=-3/R+1;
    plotparam(-R*m*cos(t)+R*cos(m*t)+i*(-R*m*sin(t)+R*sin(m*t)),
               t,affichage=rouge)

On a choisit R0=3. On peut ainsi faire varier R et voir les 3 cas :
R=0.75, R=1.2, R=2.

On peut faire une animation et voir le déplacement d’un point `M` d’un cercle `C` de centre `A` et de rayon `R` lorsque ce cercle roule à l’intérieur d’un cercle `C0` de centre `0` et de rayon `3`.
On tape :

    C:=cercle(0,3);
    R:=element(0..3);
    m:=3/R+1;
    plotparam(R*m*cos(t)-R*cos(m*t)+i*(R*m*sin(t)-R*sin(m*t)),
           t,affichage=rouge);
    animation(seq('cercle((3-R)*exp(i*v),R)',v,-10,10,0.5));
    animation(seq('M:=point(-R*m*cos(v)+R*cos(m*v)+
           i*(-R*m*sin(v)+R*sin(m*v)))',v,-10,10,0.5));

### 12.2.3 Epicycloïde et hypocycloïde

On peut unifier les 2 cas en prenant R négatif pour les hypocycloïde. Avec `Xcas`
On tape :

    C:=cercle(0,3);
    R:=element(-3..4);
    m:=3/R+1;
    plotparam(R*m*cos(t)-R*cos(m*t)+i*(R*m*sin(t)-R*sin(m*t)),
              t=-10..10,affichage=rouge)

On a choisit R0=3. On peut ainsi faire varier R et voir les différents cas :
R=−1.2, R=−1, R=−0.75, R=1, R=1.5, R=3, R=4. On peut faire une animation et voir le déplacement d’un point `M` d’un cercle `C` de centre `A` et de rayon `|R|` lorsque ce cercle roule (à l’intérieur si `R<0` et à l’extérieur si `R>0`) sur le cercle `C0` de centre `0` et de rayon `3`.
On tape :

    C0:=cercle(0,3);
    R:=element(-3..4);
    m:=3/R+1;
    plotparam(R*m*cos(t)-R*cos(m*t)+i*(R*m*sin(t)-R*sin(m*t)),
           t=-10..10,affichage=rouge);
    animation(seq('cercle((3+R)*exp(i*v),R)',v,-10,10,0.5));
    animation(seq('M:=point(R*m*cos(v)-R*cos(m*v)+
           i*(R*m*sin(v)-R*sin(m*v)))',v,-10,10,0.5));
    animation(seq('segment((3+R)*exp(i*v),R*m*cos(v)-R*cos(m*v)+
           i*(R*m*sin(v)-R*sin(m*v)))',v,-10,10,0.5));

## 12.3 L’astroïde

On pourra se reporter à la session `astroide.xws`.

### 12.3.1 La courbe

Définition On déplace un segment AB de longueur constante a de façon que A soit sur 0x et B sur Oy.
L’astroïde est l’enveloppe de ce segment. L’astroïde est aussi le lieu de la projection M de C sur AB, lorsque OACB est un rectangle. Si OACB est un rectangle et si t est l’angle 0x,0C, on a :
0A=acos(t) et 0B=asin(t)
La droite AB a donc comme équation :
x/(acos(t))+y/(asin(t))=1 ou encore
x*tan(t)+y=asin(t)
L’enveloppe de la droite AB est le lieu des points d’intersection de :
x*tan(t)+y=asin(t) et de x/cos(t)2=acos(t)
donc x=acos(t)3 et y=asin(t)−asin(t)*cos(t)2=asin(t)3.
L’astroïde a donc comme équation paramètrique : x=acos(t)3;y=asin(t)3.
On tape :
`plotparam(cos(t)```^```3+i*sin(t)```^```3,t)`

### 12.3.2 La longueur de cette courbe

On peut calculer la longueur d’un quart d’astroïde.
On a : ds2=dx2+dy2
On tape :
`tlin(diff(a*cos(t)```^```3,t)```^```2+diff(a*sin(t)```^```3,t)```^```2)`
On obtient : `(9*a```^```2)/8+(-((9*a```^```2)/8))*cos(4*t)`
On tape :
`trigsin(halftan((9*a```^```2)/8+(-((9*a```^```2)/8))*cos(4*t)))`
On obtient : `9/4*a```^```2*sin((4*t)/2)```^```2`
Quand t varie de 0 à 2π, la longueur d’un quart d’astroïde est :
`normal(int( 3/2*a*sin(2*t),t,0,pi/2))`
On obtient : `3/2*a`
On a la longueur de l’astroïde est donc : `6*a`

## 12.4 Un exercice

### 12.4.1 L’énoncé

On considère la fonction g ℝ−>ℂ définie par : g(t)=∑n=0+∞ei2nt/2n

1. Montrer que g est périodique.
   Calculer g(−t) et supt∈ ℝ|g(t)|.
   Majorer l’erreur commise lorsqu’on prend : ∑n=020ei2nt/2n comme valeur approchée de g(t)
2. En utilisant `Xcas` dessiner l’image de ℝ par cette approximation de g.

### 12.4.2 Le corrigé

1. On a g(t+2π)=g(t) donc g est périodique de période 2π.
   On a g(−t)=g(t).
   On a |ei2nt/2n|<1/2n donc supt∈ ℝ|g(t)|<=∑n=0+∞1/2n=2.
   Si on prend : ∑n=020ei2nt/2n comme valeur approchée de g(t) l’erreur commise est inférieure à : ∑n=21+∞1/2n=1/220<1e−06
2. On définit la fonction g et on tape :
   `g(t):=sum(exp(i*2```^```n*t)/2```^```n,n=0..20)`
   L’image de ℝ par g est la courbe en paramétrique définie par g. On tape :
   `plotparam(g(t),t=0..pi);plotparam(g(t),t=pi..2pi,affichage=1)`
   On visualise la symétrie de la courbe par rapport à l’axe des x, symétrie due au fait que g(−t)=g(t) et on obtient :

Retour à la page personnelle de Bernard Parisse.