![]() ![]() |
// 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, // cest 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)); |
![]() ![]() |
// 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); |
![]() ![]() |
// 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); |
![]() ![]() |
// 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); |
![]() ![]() |
// 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); |
![]() ![]() |
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); |
![]() ![]() |
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