Botafogo5.4 Représentation d’une courbe paramétrée
5.4.1 Représentation en 2D
En deux dimensions, une courbe paramétrée par le paramètre t est donnée par r(t)=x(t)ex+y(t)ey, où les vecteurs ex et ey sont des vecteurs unitaires dans les directions x et y, respectivement.
En guise d’exemple, nous allons considérer une courbe appelée trochoïde définie par :
{x(t)y(t)==Rt−dsint,R−dcost.Les coordonnées du vecteur position r(t) peuvent être définies de la manière suivante :
import numpy as np
import matplotlib.pyplot as plt
R = 3
d = 4
t = np.linspace(-2*np.pi,2*np.pi,1000)
courbe_x = R*t - d*np.sin(t)
courbe_y = R - d*np.cos(t)
Après avoir créé les axes, on peut afficher la courbe :
fig = plt.figure(1)
ax = fig.gca()
ax.plot(courbe_x, courbe_y, linewidth=2)
plt.axis('scaled')
plt.show()
plt.plot(courbe_x, courbe_y, linewidth=2)
plt.axis('scaled')
plt.show()

Cas particulier de la cycloïde :

5.4.2 Représentation en 3D
En trois dimensions, une courbe paramétrée par le paramètre t est donnée par :
r(t)=x(t)ex+y(t)ey+z(t)ez,où les vecteurs ex, ey et ez dénotent les vecteurs unitaires dans les directions x, y, et z, respectivement.
Après le préambule habituel,
import numpy as np
import matplotlib.pyplot as plt
les coordonnées du vecteur position r(t) peuvent être définies de la manière suivante (cas d’une courbe appelée “courbe de Viviani”) :
a = 1
t = np.linspace(-2*np.pi,2*np.pi,100)
courbe_x = a + a*np.cos(t)
courbe_y = a*np.sin(t)
courbe_z = 2*a*np.sin(t/2)
Il est alors possible d’afficher la courbe en prenant soin de faire tourner quelque peu les graduations des axes x et y pour améliorer la lisibilité de la figure :
fig = plt.figure(1)
ax = plt.axes(projection='3d')
#ax = fig.add_subplot(projection='3d') # Variante
plt.setp(ax.get_xticklabels(), rotation=45)
plt.setp(ax.get_yticklabels(), rotation=-20)
ax.plot(courbe_x, courbe_y, courbe_z, linewidth=2)
ax.set_title('Représentation de la "courbe de Viviani"')
plt.show()


Polycopié rédigé par Roger Sauser, CMS. Sauf indication contraire, le contenu de ce document est soumis à une licence Creative Commons internationale, Attribution - Utilisation non commerciale - Partage dans les mêmes conditions 4.0 International (CC BY-NC-SA 4.0).
© 2026 Projet Botafogo. En savoir plus.