Comment visualiser l'image d'un intervalle donné dans une sphère donnée ?


Il est parfois utile de pouvoir visualiser un problème et sa solution.
C'est ce que nous ferons dans cette page dont le but est de rassembler quelques commandes de Mathematica nous permettant de construire des "objets géométriques" et surtout de les afficher en controlant certains paramètres.
Considérons le problème suivant : On donne l'intervalle ouvert ]1.99,2.01[ et dans cet intervalle, on définit la fonction vectorielle
    x(t) = (t^2 + 1, t + 1, - t).
Montrer que l'image de cet intervalle par la fonction vectorielle x se trouve dans la boule ouverte de rayon 1/10 et centrée en (5,3,-2).
Si l'on désigne par Sr(p)
- l'intervalle ouvert de longueur 2r centré en p si p est un point de la droite réelle, ou
- le disque ouvert de rayon r centré en p si p est un point du plan, ou
- la boule ouverte de rayon r centrée en p si p est un point de l'espace,
le problème ci-dessus peut s'énoncer de la façon suivante :
Montrer que l'image de S1/100(2) par la fonction vectorielle x est dans S1/10((5,3,-2)) ou encore:
Montrer que si t est dans S1/100(2), les vecteurs de la forme (t^2 + 1, t + 1, - t) sont dans S1/10((5,3,-2)).
Avant de commencer à résoudre le problème, faisons la remarque préliminaire qui pourra nous être utile plus loin.
Pour "épaissir" le graphe de la fonction sinus, par exemple, on ajoute à la commande Plot, l'option suivante :
   PlotStyle -> Thickness[.02].
Ainsi, exécuter la commande :
graphe1 = Plot[Sin[t],{t,0,Pi}, PlotStyle -> Thickness[.02]]
va nous donner un graphe dont l'épaisseur est le 2 pour cent de la dimension de la fenêtre où il s'affichera. Par défaut, Mathematica choisit cette épaisseur égale à 4 millième en dimension 2 et à 1 millième en dimension 3.
Pour voir la différence, exécutons la commande :
graphe2 = Plot[Sin[t],{t,0,Pi}]
Pour épaissir l'image de [0,Pi] par la fonction vectorielle t | -> (t,sin(t)), on exécute la commande :
ParametricPlot[{t,Sin[t]},{t,0,Pi}, PlotStyle -> Thickness[.02]]
Par contre, si l'on tente de passer par analogie en dimension 3 en exécutant la commande:
ParametricPlot3D[{t,Sin[t],Cos[t]},{t,0,Pi}, PlotStyle -> Thickness[.02]]
on obtient un message d'erreur, et il faut se contenter d'exécuter :
ParametricPlot3D[{t,Sin[t],Cos[t]},{t,0,Pi}]

Comme on le verra plus loin, on va contourner cette difficulté en dessinant les images de quelques points choisis dans l'intervalle de départ, sachant que la fonction vectorielle donnée est continue dans l'intervalle en question.
Il ne suffit pas de dire que {5,3,-2} est un point de l'espace. Pour Mathematica, {5,3,-2} n'est qu'une liste.
Le dessin du point de coordonnées cartésiennes (5,3,-2) se fait en plusieurs étapes :
- Point[{5,3,-2}] pour indiquer à Mathematica qu'il s'agit d'un point et non d'une liste.
- Graphics3D[Point[{5,3,-2}] pour transformer l'objet primitif point en objet graphique en 3 dimensions.
- dessin1 = Show[Graphics3D[Point[{5,3,-2}] pour afficher ce point, par défaut dans une bo îte qui nous aide à imaginer l'espace ambiant.
Pour des raisons qui vont sembler naturelles plus tard, on a intérêt à savoir comment augmenter la "grandeur" du point.
Voici comment :
dessin2 = Show[Graphics3D[{PointSize[.02],Point[{5,3,-2}]}]]
Les commandes suivantes vont nous permettre de préparer le dessin de points choisis :
y[t_]:={t^2+1,t+1,-t} (* 1.99 < t < 2.01 *)
image[t_]:=Graphics3D[{PointSize[.02],Point[y[t]//Evaluate]}]
quelquesimages = Table[image[t],{t,1.99,2.01,.005}]
dessin3 = Show[quelquesimages]
Pour avoir une idée de la position de ces points par rapport à l'origine, il est très instructif de faire un dessin contenant aussi l'origine. Voici comment :
origine = Graphics3D[{PointSize[.02],Point[{0,0,0}]}]
dessin4 = Show[origine,quelquesimages]
Occupons-nous maintenant de la sphere, frontière de la boule ouverte de rayon 1/10 centrée en (5,3,-2).
La fonction vectorielle suivante va nous servir dans ce but :
x[u_,v_]:= .1 {Cos[u] Sin[v],Sin[u] Sin[v],Cos[v]}
La commande suivante engendre le dessin d'une sphère de rayon 1/10 centrée à l'origine.
dessin5 = ParametricPlot3D[x[u,v]//Evaluate,{u,0,2Pi},{v,0,Pi}]
Centrons la sphère au point donné :
dessin6 = ParametricPlot3D[x[u,v]+{5,3,-2}//Evaluate,{u,0,2Pi},{v,0,Pi}]
A première vue, les dessins 5 et 6 semblent identiques. La différence est visible sur les coordonnées indiquées le long des arêtes.
Rassemblons nos dessins pour montrer l'origine, les quelques points choisis et la sphère, le tout grâce à la commande:
dessin7 = Show[origine,quelquesimages,dessin6]
ou mieux encore
dessin8 = Show[dessin6,quelquesimages,origine]
Mais attention!, le mieux est l'ennemi du bien, comme dit le proverbe; car si l'on insiste à voir aussi l'origine sur le dessin en exécutant la commande :
dessin9 = Show[dessin6,quelquesimages,origine, PlotRange -> {{-.1,5.5},{-.1,3.5},{.1,-2.5}}]
on s'aperçoit que la sphere, avec son rayon de un dixième, devient quantité négligeable et le dessin perd de son intérêt.
Revenons donc au dessin8 et "ouvrons" la sphere pour voir les points à l'intérieur. Après quelques essais, on se convainc que le quartier de sphère suivant va suffire :
quartier = ParametricPlot3D[x[u,v]+{5,3,-2}//Evaluate,{u,Pi/6,5Pi/4},{v,0,Pi}]
D'où finalement :
dessin10 = Show[quartier,quelquesimages,origine]
Comme on le constate, Mathematica a choisi par défaut de laisser tomber le dessin de l'origine, relativement éloigné, au profit d'une image des points dans la sphère donnée.

Retour à ma page personnelle



©jmt : création le 010925 - dernière modification le 010926