CHANGEMENTS DE REPERES (7)
Liste des figures
Figure fig_aa01_030308_deux_reperes
figure 0001
Figure fig_aa02_030308_deux_reperes
figure 0002
Figure fig_aa03_030308_deux_reperes
figure 0003
Figure fig_aa04_211109_difference_pair_point
figure 0004
Figure fig_fa01_030308_parabole
figure 0005
Figure fig_va01_211211_vecteurs_forces
figure 0006
Figure fig_va02_211211_vecteurs_forces
figure 0007
Asymptote - Figure 0001: fig_aa01_030308_deux_reperes.asy
(Code compilé avec Asymptote version 2.14svn)
largeur320 Figure fig_aa01_030308_deux_reperes
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(7cm,0);
// le repère par défaut est defaultcoordsys, 
// c’est celui utilisé nativement par asymptote ;
// le repère courant est currentcoordsys 
// dont la valeur par défaut est defaultcoordsys.
show(defaultcoordsys);
// Définissons un nouveau repère
pair pO2=(2,1); // (coordonnées dans currentcoordsys)
// Définition d'un nouveau repère (changement d'origine)
coordsys R=cartesiansystem(pO2,i=(1,0),j=(0,1));
// et affichons le... en étiquetant O'son origine pO2.
show("$O'$",R);
// Définition et placement du point A(1;2)dans le repère R
point pA=point(R, (1,2));
dot("$A$",pA);
// et maintenant le point B(1;2) dans le repère par défaut
pair pB=(1,2);
dot("$B$",pB);
// on pourrait aussi définir pB ainsi :
// point pB=point(defaultcoordsys, (1,2));
Asymptote - Figure 0002: fig_aa02_030308_deux_reperes.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_aa02_030308_deux_reperes
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))
size(7cm,0);
// Affichage du repère par défaut
// le repère courant est currentcoordsys 
// dont la valeur par défaut est defaultcoordsys.
show(defaultcoordsys);
// Définissons un nouveau repère
coordsys R=cartesiansystem((2,1),i=(1,1),j=(-1,1));
// et affichons le... en étiquetant son origine O' :
show("$O'$","$\vec{u}$","$\vec{v}$",R);
// Définition et placement du point A(1;2)dans le repère R
point pA=point(R, (1,1.5)); dot("$A$",pA,N);
draw(projection(Ox(R))*pA--pA--projection(Oy(R))*pA,dashed);
Asymptote - Figure 0003: fig_aa03_030308_deux_reperes.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_aa03_030308_deux_reperes
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))
size(7cm,0);
// On définit un stylo,
pen p=.8bp+blue;
// ... un second repère
coordsys R=cartesiansystem((1,2),i=(1,0),j=(-1,1));
// On affiche les deux repères.
show(currentcoordsys);
show(Label("$O'$",p), 
         Label("$\vec{u}$",p), Label("$\vec{v}$",p), 
         R, ipen=p);
// Point A(2,1) dans le repère par défaut, en rouge
pair A=(2,1);
dot("", A, SW, red);
// et B le couple de coordonnées de A dans le repère R
point B=point(R, A/R);
dot("", B, NE, p);
Asymptote - Figure 0004: fig_aa04_211109_difference_pair_point.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_aa04_211109_difference_pair_point
// Un exemple pour expliquer qu'il y a deux
// types possibles pour définir des points :

// - le type pair (défini nativement dans asymptote) est 
//   un couple de réel dans le repère par défaut ;
// - le type point (défini dans l'extension geometry)
//   est un couple de réel relatif à un repère choisi.

import geometry;
size(7cm,0);
// Le repère courant est currentcoordsys 
// et sa valeur par défaut est defaultcoordsys.
show(defaultcoordsys);

pair  pA=(1,.5);
point pB=(.5,1); 

dot("$A$",pA,N,5bp+.5red);
dot("$B$",pB,N,5bp+.5blue);

// On change de répertoire courant et on l'affiche.
currentcoordsys=cartesiansystem((2,1),i=(1,1),j=(-1,1));
show("$O'$","$\vec{u}$","$\vec{v}$",currentcoordsys);

// On redéfinit un "pair" et un "point" avec les mêmes coordonnées.
pair  pAp=(1,.5);
point pBp=(.5,1); 

dot("$A'$",pAp,S,3bp+red);
dot("$B'$",pBp,S,3bp+blue);
Asymptote - Figure 0005: fig_fa01_030308_parabole.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_fa01_030308_parabole
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))
import graph_pi;
size(7cm,0);
graphicrules(xunit=1cm, yunit=1cm,
             xmin=-3, xmax=3,
             ymin=-3, ymax=7,
             crop=Crop
             );
show(defaultcoordsys);
coordsys R=cartesiansystem((2,1),i=(1,1),j=(-1,1));
show("$O'$","$\vec{u}$","$\vec{v}$",R);
// On définit la fonction et sa courbe (chemin)
real f(real x) {return x^2;}
path Cf=graph(f,n=400);
// R* indique Cf doit être tracée dans R
draw(R*Cf,linewidth(1bp));
// On limite la taille de l'image :
xlimits(-2,3,Crop);
ylimits(-2,5,Crop);
Asymptote - Figure 0006: fig_va01_211211_vecteurs_forces.asy
(Code compilé avec Asymptote version 2.14svn)
largeur320 Figure fig_va01_211211_vecteurs_forces
import geometry;
size(7.5cm,0);

// Affichage du repère par défaut (O,vec{i},vec_{j})
show(defaultcoordsys);

real a=5, b=4, theta=-27, poids=3;
ellipse el = ellipse(origin, a, b);
arc     ar = arc(el,(0,-b),(a,0),CCW);
path p = (0,-b-1)--ar--(a+1,0)--(a+1,-b-1)--cycle;
point pO = (0,0), pM=angpoint(ar,90+theta);
abscissa abscM = nodabscissa(el,pM);
real     timeM = abscM.x;
vector utangM = -dir(el,timeM), 
       unormM = rotate(90)*utangM,
       vpoids=(0,-poids),
       vreactionN = -dot(vpoids,unormM)*unormM,
       vfrottement = -dot(vpoids,utangM)*utangM;

filldraw(p,lightgray,blue);
draw(pO--pM,dashed);
markangle("$\theta$",1.5cm,pM,origin,(1,0));

// Affichage d'un nouveau repère (M,vec{u_{\theta}},vec_{u_{r}})
coordsys R=cartesiansystem(pM,i=utangM,j=unormM);
show("$M$", "$\vec{u_{\theta}}$", "$\vec{u_{r}}$", R, xpen=invisible);

// Affichage des trois vecteurs "dans le repère R"
// façon de parler pour dire que l'on en trace un représentant
// à partir de l'origine du repère R.
point RpM=changecoordsys(R, pM);
show(Label("$\vec{f}$",EndPoint),RpM+vfrottement);
show(Label("$\vec{R}$",EndPoint),RpM+vreactionN);
// Autre syntaxe, plus simple :
show(Label("$\vec{P}$",EndPoint),origin(R)+vpoids);
Asymptote - Figure 0007: fig_va02_211211_vecteurs_forces.asy
(Code compilé avec Asymptote version 2.14svn)
largeur320 Figure fig_va02_211211_vecteurs_forces
import geometry;
size(7.5cm,0);

// Affichage du repère par défaut (O,vec{i},vec_{j})
show("",defaultcoordsys);

real a=5, b=4, theta=-40, poids=3;
ellipse el = ellipse(origin, a, b);
arc     ar = arc(el,(0,-b),(a,0),CCW);
path p = (0,-b-1)--ar--(a+1,0)--(a+1,-b-1)--cycle;
point pO = (0,0), pM=angpoint(ar,90+theta);
abscissa abscM = nodabscissa(el,pM);
real     timeM = abscM.x;
vector utangM = -dir(el,timeM), 
       unormM = rotate(90)*utangM,
       vpoids=(0,-poids),
       vreactionN = -dot(vpoids,unormM)*unormM,
       vfrottement = -dot(vpoids,utangM)*utangM;

filldraw(p,lightgray,blue);
draw(pO--pM,dashed);
markangle("$\theta$",1.5cm,pM,origin,(1,0));

// Affichage d'un nouveau repère (M,vec{u_{\theta}},vec_{u_{r}})
coordsys R=cartesiansystem(pM,i=utangM,j=unormM);
show("$M$", "$\vec{u_{\theta}}$", "$\vec{u_{r}}$", R, xpen=invisible);

// Affichage des vecteurs "dans un repère ou l'autre"
// façon de parler pour dire que l'on en trace un représentant
// à partir de l'origine d'un repère ou de l'autre.
show("",utangM);
show("",unormM);
show("",origin(R)+vfrottement);
show("",origin(R)+vreactionN);
show("",origin(R)+vpoids);

Dernière modification le Wed Dec 21 13:51:41 CET 2011 par G.Marris       Valide XHTML