Utilisateur:Abdelouahab/hypotrochoïde

Un article de Wikipédia, l'encyclopédie libre.

Quelques figures obtenues par Mathématica

Sommaire

[modifier] Paramétrisation d'une hypotrochoïde

Hypotrochoides, sont des courbes planes décrite par un point lié à un cercle mobile (C) roulant sans glisser sur et interieurement à un cercle de base (C0), le cercle roulant étant plus petit que le fixe. Ces courbes ont été étudiée par Durer en 1525, Romer en 1674 et Bernoulli en 1725:

Préfix provenant du grec hupo:au-dessous et trokhos:roue.

On pose q = a / b (donc q>1) et d=k*b,avec a le rayon du cercle fixe et b est celui du cercle roulant(mobile) et d la distance du point au centre du cercle mobile. Une paramétrisation de l'hypotrochoïde est alors :
Complexe :

z = (ab)exp(it) + dexp( − i(q − 1)t)

soit

qz = a((q − 1)exp(it) + kexp( − it(q − 1))

q(x + iy) = a(q − 1)cos(t) + ia(q − 1)sin(t) + akcos((q − 1)t) − iaksin((q − 1)t)

par comparaison partie réelle et partie imaginaire on obtient:

qx = a(q − 1)cos(t) + kacos((q − 1)t));
qy = a(q − 1)sin(t) − kasin((q − 1)t));

avec q=a/b et k=d/b

Si on pose a = R et b=r et t = θ, on obtient les formles ci-dessous:


x = (R - r)\cos\theta + d\cos\left({R - r \over r}\theta\right)
y = (R - r)\sin\theta - d\sin\left({R - r \over r}\theta\right)

Les hypocycloide sont des classes spéciales avec d = r et les ellipses avec R = 2r le paramètre p variant de 0 à 2*Pi

[modifier] Paramétrisation de la surface

On introduit un deuxième paramètre de la façon suivante :

x = sin(v)(a((1 − 1 / q)cos(u) + (k / q)cos(q − 1)u));
y = sin(v)(a((1 − 1 / q)sin(u) − (k / q)sin((q − 1)u));
z = ccos(v);

[modifier] Définition de la surface,Texture et tracé pour Mathematica5.2 version etudiante ou prof

hupoTrokhosDisq[a_, c_, k_, q_][u_, v_] =

   {Sin[v]*(a*((1 - 1/q)*Cos[u] + (k/q)*Cos[(q - 1)*u])),
     Sin[v]*(a*((1 - 1/q)*Sin[u] - (k/q)*Sin[(q - 1)*u])),
     c*Cos[v]};

Paramétrisation de la surface (avec texture)

[modifier] Texture

hupoTrokhosDisque[a_, c_, k_, q_][u_, v_] =

    Module[
       {red, purple},
       Append[
       hupoTrokhosDisq[a, c, k, q][u, v],{RGBColor[red = 
       Abs[Sin[q*u]],purple = Abs[Sin[20*v]], 
         1 - red*purple],EdgeForm[]}]];
      

Tracé


hupoTrokhosGraph[a_, c_, k_, q_][u_, v_] :=

   ParametricPlot3D[
     Evaluate[hupoTrokhosDisque[a, c, k, q][u, v]],
     {u, 0, 2Pi, Pi/80},
     {v, 0, Pi, Pi/100},
     ImageSize -> {di, di},
     Boxed -> False,
     Axes -> False,
     ViewPoint -> {0, 0, 8},
     Lighting -> False,
     Epilog -> {Text["q= ", {0.85, 0.95}], Text[q, 
     {0.95, 0.95}],Text["k= ", {0.85, 0.95}], 
     Text[k, {0.85, 0.95}]}];

GraphicsArray[Table[hupoTrokhosGraph[3,0.3, k, q][u, v], {q, 2, 9}, {k, 0.25, 2, 0.5}]];


Auteur: Abdelouahab 30 mars 2006 à 12:24 (CEST)

Autres langues