1 Trac e D'une Courbe Explicite y F (X) : X Linspace (-3,3,10) y Sin (X) Plot (X, Y,'b-')

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

MAP110/MAP120 Découverte des Mathématiques Appliquées

TP : Courbes paramétrées

1 Tracé d’une courbe explicite y = f (x)


Le tracé d’une courbe dans SCILAB repose sur un principe très simple :
1. on crée un vecteur des abscisses, par exemple par l’instruction :
x = linspace(-3,3,10);
qui crée 10 points également espacés dans l’intervalle [−3, 3]. Pour s’en rendre compte on pourra dans
un premier temps ne pas mettre le “ ;”. On a donc x qui est le vecteur :

x1 = −3, x2 = −2.3333333, · · · , x10 = 3

2. Ensuite nous construisons par l’instruction :


y = sin(x);
le vecteur y des ordonnées :

y1 = sin(x1 ), y2 = sin(x2 ), · · · , y10 = sin(x10 )

obtenue par application de la fonction sinus à chacun des éléments xi du vecteur “x”.
3. Enfin, l’instruction : plot(x,y,’b-’) va créer une ligne brisée joignant les points (xi , yi ) entre eux.
Résumons notre programme SCILAB que nous allons sauvegarder dans le fichier “trace1.sce” :

x = linspace(-3,3,10);
y = sin(x);
plot(x,y,’b-’)

On trouvera le résultat du tracé dans la fenêtre graphique de SCILAB. Evidemment, le résultat n’est
pas très bon. Il faut donc augmenter le nombre de points de subdivision :

n = 1000;
x = linspace(-3,3,n);
y = sin(x);
plot(x,y,’b-’)

Noter au passage que le graphique se superpose au graphique précédent.

La commande clf efface la fenêtre graphique courante.


La commande xdel(winsid()) supprime toutes les fenêtres graphiques.
L’instruction figure() crée une nouvelle fenêtre graphique.
L’instruction set(gca(),”isoview”,”on”) normalise l’échelle en abscisse et en ordonnée.

Exercice 1 Tester l’exemple précédent.

Exercice 2 Tracer la courbe représentative de la fonction :

x 7→ x2 , x ∈ [−2, 2].

Exercice 3 Tracer la courbe représentative de la fonction :

x 7→ e−x sin(10 x), x ∈ [0, 2].

Remarque : On notera que exp(-x) crée un vecteur de la même taille que x, ainsi que sin(10*x). Pour la
multiplication terme à terme de ces deux vecteurs on utilise le produit .* au lieu de * .

1
2 Courbes implicites
• — L’ellipse de demi-axes a > 0 et b > 0 est définie par l’équation
implicite
x2 y 2
+ 2 = 1.
a2 b
Exercice 4 Tracer cette courbe pour a = 5 et b = 2, en se ramenant
au cas précédent, c’est-à-dire en considèrant√cette ellipse comme la
réunion des 2 courbes explicites y = f1 (x) = ab a2 − x2 et y = f2 (x) =

− ab a2 − x2 pour x ∈ [−a, a] (en différenciant les tracés).

• — Le Folium de Durer, défini par l’équation implicite


 2
(x2 + y 2 ) 2 (x2 + y 2 ) − a2 − a4 x2 = 0 ,

ne pourra pas être traité à l’identique (ici : a = 10).

Cependant, on peut remarquer que l’intersection de cette courbe avec la droite variable, passant par l’origine,
y = t x (le paramètre t définissant la pente de la droite) conduit à l’équation bi-carrée :
4 (1 + t2 )3 X 2 − 4 a2 (1 + t2 )2 X + t2 a4 = 0
avec X = x2 et bien sur y = t x (en omettant l’origine).

Exercice 5 Compléter le programme suivant permettant de déterminer les intersections de cette courbe avec
les droites y = ti x, ti = tan(θi ) pour des valeurs de θi comprises entre −π/2 et π/2.
// RESOLUTION de l’equation A X^2 + B X + C
// FOLIUM DE DURER : tracé par intersection
function [x1,x2] = Resol2(A,B,C)
// avec la droite variable y = tx
delta = B^2 - 4*A*C;
a = 10;
if (delta>= 0) then
pas = %pi/20;
x1 = (-B-sqrt(delta))/(2*A);
for theta = -%pi/2+0.01 : pas : %pi/2-0.01
x2 = (-B+sqrt(delta))/(2*A);
t = tan(theta);
else
A = ....;
error(’pas de racine’)
B = ....;
end
C = ....;
endfunction
[x1,x2] = Resol2(A,B,C);
if x1 >= 0 then
x = sqrt(x1); y = t*x;
plot(x,y,’bo’)
plot(-x,-y,’bo’)
end
if x2 >= 0 then
x = ....; y = ....;
plot(.....)
plot(.....)
end
end

Exercice 6 [Bonus] Appliquer la même idée pour la lemniscate de Bernouilli définie par l’équation
implicite
(x2 + y 2 )2 = a2 (x2 − y 2 )

Nous verrons ci-dessous que ces courbes admettent une représentation paramétrique plus commode pour
le tracé.

2
3 Les courbes paramétrées
La courbe paramétrée, 
x = f (t)
, t ∈ [a, b]
y = g(t)
est constituée de l’ensemble des points du plan {(f (t), g(t)), t ∈ [a, b]}. Le graphe d’une fonction correspond
ainsi au cas f (t) = t.

• — Le programme “type”
Un programme SCILAB de base pour tracer la courbe paramétrée {(f (t), g(t)), t ∈ [a, b]} peut s’écrire
schématiquement sous la forme :
// Tracé courbe paramétrée
function x = f(t)
x = ...;
endfunction

function y = g(t)
y= ...;
endfunction les éléments signalés par “...” étant à compléter.
a = ....; b = ....;
n = ....;
T = linspace(a,b,n);
X = f(T);
Y = g(T);
plot(X,Y,...);

Exercice 7 Tracer le cercle d’équations paramétriques x = 3 cos(t), y = 3 sin(t), t ∈ [0, 2π], puis l’ellipse
d’équations paramétriques x = 5 cos(t), y = 2 sin(t), t ∈ [0, 2π].

Exercice 8 Tracer la courbe paramétrée C = {(x(t), y(t)), t ∈ [a, b]} avec

 x(t) = 2 sin(t)2 cos(t)


y(t) = 2 cos(t)2 sin(t)


t ∈ [0, 2π]

• — Quelques courbes paramétrées remarquables

Exercice 9 Courbes de Lissajous produites par les oscilloscopes :

x(t) = cos(k t)
y(t) = sin(h t)

Tracer cette courbe pour différentes valeurs entières de k et h. On pourra tester les couples (k, h) =
(1, 2), (3, 2), (3, 4), (5, 6), (9, 8), · · · et on choisira t ∈ [0, p π], avec p entier à tester.

Exercice 10 Tracer la courbe paramétrée C = {(x(t), y(t)), t ∈ [a, b]} avec



 x(t) = sin(5t)
y(t) = sin(6t)
t ∈ [0, 2π]

Exercice 11 Les cycloı̈des :


x(t) = t − r sin(t)
y(t) = 1 − r cos(t)
Tracer cette courbe en faisant varier la valeur de r : r = 1 (la cycloı̈de classique), puis r < 1, et r > 1. On
choisira par exemple t ∈ [0, 2π], puis t ∈ [0, 4π],...

3
Exercice 12 Le Folium de Durer : (que l’on retrouve donc ici sous forme paramétrique)

x = a2 cos(t) + cos(3 t)




y = a2 sin(t) + sin(3 t)

Tracer cette courbe pour a = 10 et t ∈ [0, 2π].

• — Influence du paramétrage
 On considère les deux paramétrisations suivantes du cercle unité (privé d’un point).

1 − t2

x (t) =
 
 x1 (t) = cos(t) 2

1 + t2


t ∈ ] − π, π[ et t ∈ ] − ∞, +∞[

y1 (t) = sin(t)

 2 t
y2 (t) =


1 + t2

Exercice 13 Tracer la première courbe paramétréeq pour t ∈ I1 = [−5π/6, 5π/6]. Tracer ensuite la deuxième
√ √
courbe paramétrée pour t ∈ I2 = [−a, a], avec a = (2 + 3)/(2 − 3).
Tracer enfin l’image de 30 points équirépartis dans chacun des intervalles I1 et I2 — voir figure ci-dessous.
Commentaires ?

 On considère maintenant la Lemniscate de Bernouilli définie par la représentation paramétrique


suivante

t + t3


 x = a

 1 + t4
M (t) = t ∈ ] − ∞, +∞[
3
 y =a t−t



1 + t4

Exercice 14 Compléter le programme ci-dessous permettant de tracer cette lemniscate pour t ∈ [−5, 5],
dans un premier temps avec 200 valeurs ti , puis ensuite avec seulement 30 valeurs tj . On tracera par ailleurs
en chacun de ces derniers points M (tj ) le vecteur dérivé M 0 (tj ) à l’aide de la fonction PlotVecteur(A,u)
ci-jointe (il sera judicieux d’utiliser un coefficient d’atténuation pour la norme de ces vecteurs). Analyser le
lien entre la norme des vecteurs dérivés (cinématique du paramétrage) et la précision du tracé.

4
//LEMNISCATE DE BERNOUILLI // FONCTIONS
clf function PlotSerretFrenet(M,dM)
a = 5; // trace le repère de Serret-Frenet au point M
// affichage avec 200 valeurs dans [-a,a] // de la courbe
n = 200; // dM est le vecteur dérivé de la courbe en M
t = linspace(-a,a,n); // on commence par normaliser le vecteur dM
x = a * (t + t.^3)./(1 + t.^4); dM = (1/sqrt(dM(1,1)^2 + dM(1,2)^2))*dM;
y = ....; T = M + dM;
plot(x,y, ’-b’) dN = [-dM(1,2) dM(1,1)];
// affichage avec 30 valeurs dans [-a,a] N = M + dN;
n = 30; plot(M(1,1),M(1,2),’bo’)
u = linspace(-a,a,n); plot([M(1,1) T(1,1)],[M(1,2) T(1,2)],’-b’)
x = a * (u + u.^3)./(1 + u.^4); plot([M(1,1) N(1,1)],[M(1,2) N(1,2)],’-b’)
y = ....; endfunction
plot(x,y, ’-ro’)
set(gca(),"isoview","on")
// Vecteur dérivé :
dx = a * ((1 + 3*u.^2).*(1 + u.^4) - 4*(u.^3).*(u + u.^3)) ./ ((1 + u.^4).^2);
dy = ....;
// Tracé des vecteurs dérivés function PlotVecteur(A,u)
// coef = coefficient d’atténuation // trace le vecteur u a partir du point A
coef = 1/3; B = A + u;
for i = 1 : size(u,2) plot([A(1,1) B(1,1)],[A(1,2) B(1,2)],’-r’)
M = [x(i) y(i)]; plot(A(1,1),A(1,2),’ro’)
dM = coef * [dx(i) dy(i)]; endfunction
PlotVecteur(...,...)
//PlotSerretFrenet(...,...)
end

• — Repère mobile de Serret Frenet

Exercice 15 On considère à nouveau la lemniscate


de Bernouilli pour t ∈ [−5, 5]. Compléter le pro-
gramme précédent afin de tracer le repère de Serret
Frenet en chacun des points M (tj ) (échantillonnage
de 30 points). On utilisera la fonction PlotSerretFre-
net(M,dM) donnée ci-dessus.

4 Courbes en coordonnées polaires


La description d’une courbe en coordonnées polaires consiste à donner la distance ρ de chacun de ses points
M à l’origine O en fonction de l’angle θ que fait la demi-droite [0M ) avec l’axe des abscisses, autrement
dit à donner la distance ρ = ρ(θ), θ ∈ [a, b]. Ainsi, l’équation d’un cercle centré à l’origine en coordonnées
polaires est : ρ = ρ(θ) = r, θ ∈ [0, 2π].
Une courbe en polaire ρ = ρ(θ), θ ∈ [a, b], peut se mettre sous forme paramétrique :

x(θ) = ρ(θ) cos(θ)
θ ∈ [a, b].
y(θ) = ρ(θ) sin(θ)

Exercice 16 Tracer les courbes suivantes définies en coordonnées polaires (attention aux problèmes d’échelle !) :
1. La spirale logarithmique : ρ(θ) = eθ ,
2. la spirale d’Archimède : ρ(θ) = α θ, où α est une constante à choisir,
3. la courbe
ρ(θ) = sin(2θ)2 + (sin(4θ)4 )/2


θ ∈ [0, 2π]

5
4. la courbe


 ε = 0.5, n = 5, θ ∈ [0, 2π]
 ε = 0.5, n = 4.5, θ ∈ [0, 4π]
 

ρ(θ) = 1 + ε cos(nθ)
dans les cas suivants : ε = 1.5, n = 5, θ ∈ [0, 2π]
θ ∈ [0, 2π]
 ε = 1, n = π, θ ∈ [0, 100π]



ε = 1, n = π, θ ∈ [0, 1000π]

Exercice 17 Tracer la courbe ρ(θ) = 2/ cos(θ), θ ∈ ] − π/2, π/2[. Bonus : donner la représentation en
coordonnées polaires de la droite d’équation y = x − 1, et tracer cette droite.

5 Quelques mots sur le tracé d’une surface


Nous avons vu que le tracé d’une courbe représentative de y = f (x), x ∈ [a, b] en dimension 2 consistait à
découper l’intervalle [a, b] avec n points équirépartis, à évaluer la fonction f en ces points, puis à fournir le
résultat de ces calculs à l’instruction plot.
Le tracé d’une surface explicite z = f (x, y), x ∈ [a, b], y ∈ [α, β] relève du même principe. On découpe
chacun des intervalles [a, b] et [α, β] avec n points équirépartis. On évalue la fonction z en chacun des points
(x(i), y(j)) dans un tableau de dimension n × n puis on appelle la fonction plot3d(x,y,z).
On donne ci-dessous à gauche l’exemple du tracé du paraboloı̈de :
z = x2 + y 2 , x ∈ [−1, 1], y ∈ [−1, 1].
// Paraboloide
clf
n = 50; Exercice 18 Tracer la surface :
// Découpage des intervalles en x et y
x = linspace(-1,1,n);
z = exp(−x2 − y 2 ), x ∈ [−2, 2], y ∈ [−2, 2].
y = linspace(-1,1,n);
// Formatage du tableau des z
z = zeros(n,n);
// Evaluation de la fonction z Exercice 19 Tracer la surface :
for i = 1 : n
for j = 1 : n
z = exp −(x+1)2 −(y+1)2 +exp −(x−1)2 −(y−1)2 ,
 
z(i,j) = x(i)^2 + y(j)^2;
end
end x ∈ [−2, 2], y ∈ [−2, 2].
// Tracé :
plot3d(x,y,z)

6 Un exemple de tracé d’une courbe 3D paramétrée

Exercice 20 Exécuter le script scilab suivant, que l’on modifiera ensuite pour tracer d’autres courbes 3D.
a = 0;
b = 2*%pi;
n = 400;
Par exemple, on tracera l’hélice circulaire de rayon R et de
t = linspace(a,b,n);
pas a :
x = sin(2*t);
y = sin(3*t); 
 x = R cos(t)
z = cos(3*t); y = R sin(t) t ∈ [0, 2kπ], k ∈ Z
param3d(x,y,z) 
z = (2π/a) t
e = gce()
e.foreground = color(’red’);

On trouvera de nombreux exemples de courbes et surfaces à l’adresse : http ://www.mathcurve.com/

Vous aimerez peut-être aussi