Calcul Symbolique Leçon 3
 Le graphisme

Formes géométriques

On peut dessiner les formes géométriques de base, cercles, rectangles, disques, polygones  ...

Dessiner le drapeau olympique

Remarque : on pourrait faire mieux en utilisant la possibilité de ne pas tracer le cercle en entier ....

angle=Pi/20;
Graphics[
{Blue,Thickness[.03],Circle[{0,0},0.9,{-angle,2Pi-2 angle}]}
]

Listes de points

ListPlot[{Range[10],Table[n^2,{n,1,10}]},PlotStyle->{Red,Green}]

ListLinePlot[{Range[10],Table[n^2,{n,1,10}]},PlotStyle->{{Dashed,Green},{Thick,Red}}]

Regardez dans l’aide comment on peut visualiser des ensembles de points. Ecrire ensuite une fonction ApproximationDroite[p_,q_]qui retourne la liste des points à coordonnées entières qui sont juste au dessous du segment de droite joignant l’origine au point de coordonnées {p,q}. Dessiner le chemin qui relie tous ces points. Vous devez obtenir, pour p=5 et q=3 la figure suivante

Solution

Tracé de courbes

La fonction Plot, et ses options

Retour sur un problème du bac

f[n_,x_]:=x ^n E^(-x)
Plot[f[1,x],{x,-1,2}]

Clear[x]
f[n,x]
Plot[{f[0,x],f[1,x],f[2,x],f[3,x]},{x,-1,2},PlotStyle->{Thick,Automatic,Red,Dashed},
AspectRatio->Automatic,
Epilog->{
{Text[Style[f[n,x],Large],{1,1.5}],
Text[Style[(Subscript[f, 0])[x],Blue],{1.5,0.1}]},
{Text[Style[(Subscript[f, 1])[x],Purple],{1.8,0.35}]},
{Text[Style[(Subscript[f, 2])[x],Red],{1.8,0.6}]},
{Text[Style[(Subscript[f, 3])[x],Green],{1.8,1.15}]}
}]

Tracé de courbes données par leurs équations

ContourPlot[x^2+y^2==1,{x,-1,1},{y,-1,1}]

Tracé de fonctions paramétriques

ParametricPlot[{Sin[t]Cos[2t], Sin[3 t]},{t,0,4Pi}]

Animations

Manipulate

Manipulate[x^2+y^2,{x,0,1},{y,0,1}]

Manipulate[{u[[1]],u[[2]]}->u[[1]]^2+u[[2]]^2,{u,{0,0},{1,1}},ControlType->Slider2D,ControlPlacement->Left]

Manipulate[{u[[1]],u[[2]]}->u[[1]]^2+u[[2]]^2,{u,{0,0},{10,10},{1,1}},ControlType->Slider2D,ControlPlacement->Left]

Manipulate[n,{n,0,100,1}]

Retour sur le problème du bac

Manipulate[Plot[{f[0,x],f[1,x],f[2,x],f[n,x]},{x,-1,2},PlotStyle->{Thick,Automatic,Dashed,Red},
AspectRatio->Automatic,PlotRange->{{-1,2},{-3,3}}],{n,0,30,1}]

Exemples Animate et Manipulate

Animate[ParametricPlot[{Sin[t], Cos[ t]},{t,0,x},
Epilog->{Red,PointSize[.01],Point[{Sin[x],Cos[x]}]},
AspectRatio->1, PlotRange->1.1
],{x,0.001,2Pi},AnimationRunning->False,AnimationRepetitions->1]

Représentation de la cycloide

Exercice Exemple du tir d’obus

1. On imagine que l’on tire un obus d’un point A(Ax,Ay) avec une vitesse initiale V0(V0x,V0y). On veut visualiser la trajectoire de l’obus jusqu’à son arrivée au sol.  On ne considèrera que la gravité g sans tenir compte des frottements.
2.  On fixe A. On désigne par B un objectif. Calculer V0 pour que B soit atteint. Modélisez, visualisez.

g=9.80
A={2,6};
V0={2,2};
M=A+V0 t-g{0,t^2}
t0=t/.Solve[M[[2]]==0,t][[2]]