unitsize(1cm); // 4 TYPES de tête de flèche draw((0,0)--(2,2),Arrow); // TYPE 1 draw((1,0)--(3,2),Arrow(SimpleHead)); // TYPE 2 draw((2,0)--(4,2),Arrow(HookHead)); // TYPE 3 draw((3,0)--(5,2),Arrow(TeXHead)); // TYPE 4 shipout(bbox(5mm,white)); |
unitsize(1cm); // Différentes tailles pour la tête de flèche draw((0,0)--(2,2),Arrow); // TYPE 1 draw((1,0)--(3,2),red,Arrow(5bp)); draw((2,0)--(4,2),blue,Arrow(10bp)); draw((3,0)--(5,2),green,Arrow(15bp)); draw((0,-3)--(2,-1),Arrow(SimpleHead)); // TYPE 2 draw((1,-3)--(3,-1),red,Arrow(SimpleHead,5bp)); draw((2,-3)--(4,-1),blue,Arrow(SimpleHead,10bp)); draw((3,-3)--(5,-1),green,Arrow(SimpleHead,15bp)); shipout(bbox(5mm,white)); |
unitsize(1cm); // Différentes tailles pour la tête de flèche draw((0,0)--(2,2),Arrow(HookHead)); // TYPE 3 draw((1,0)--(3,2),red,Arrow(HookHead,5bp)); draw((2,0)--(4,2),blue,Arrow(HookHead,10bp)); draw((3,0)--(5,2),green,Arrow(HookHead,15bp)); draw((0,-3)--(2,-1),Arrow(TeXHead)); // TYPE 4 draw((1,-3)--(3,-1),red,Arrow(TeXHead,1bp)); draw((2,-3)--(4,-1),blue,Arrow(TeXHead,2bp)); draw((3,-3)--(5,-1),green,Arrow(TeXHead,3bp)); shipout(bbox(5mm,white)); |
unitsize(1cm); // Une autre façon de spécifier la taille de la tête de flèche (en mm) // et différents réglages de la largeur du corps de la flèche. draw((0,0)--(2,2),Arrow); // TYPE 1 draw((1,0)--(3,2),.5mm+red,Arrow(size=2mm)); draw((2,0)--(4,2),1mm+blue,Arrow(size=4mm)); draw((3,0)--(5,2),1.5mm+green,Arrow(size=6mm)); draw((0,-3)--(2,-1),Arrow(SimpleHead)); // TYPE 2 draw((1,-3)--(3,-1),.5mm+red,Arrow(SimpleHead,size=2mm)); draw((2,-3)--(4,-1),1mm+blue,Arrow(SimpleHead,size=4mm)); draw((3,-3)--(5,-1),1.5mm+green,Arrow(SimpleHead,size=6mm)); shipout(bbox(5mm,white)); |
unitsize(1cm); // Une autre façon de spécifier la taille de la tête de flèche (en mm) // et différents réglages de la largeur du corps de la flèche. DefaultHead=HookHead; // On spécifie le type des têtes de flèches qui suivent. draw((0,0)--(2,2),Arrow()); // TYPE 3 draw((1,0)--(3,2),.5mm+red,Arrow(size=2mm)); draw((2,0)--(4,2),1mm+blue,Arrow(size=4mm)); draw((3,0)--(5,2),1.5mm+green,Arrow(size=6mm)); DefaultHead=TeXHead; // On change le type des têtes de fléches. draw((0,-3)--(2,-1),Arrow()); // TYPE 4 draw((1,-3)--(3,-1),.5mm+red,Arrow(size=1mm)); draw((2,-3)--(4,-1),1mm+blue,Arrow(size=1.5mm)); draw((3,-3)--(5,-1),1.5mm+green,Arrow(size=2mm)); shipout(bbox(5mm,white)); |
size(7cm); // 4 TYPES de tête de flèche draw((0,0)--(1,1),2bp+black,Arrow); // TYPE 1 draw((1,0)--(2,1),2bp+black,Arrow(SimpleHead)); // TYPE 2 draw((2,0)--(3,1),2bp+black,Arrow(HookHead)); // TYPE 3 draw((3,0)--(4,1),2bp+black,Arrow(TeXHead)); // TYPE 4 // Des variantes avec l'option NoFill draw((0,-2)--(1,-1),2bp+black,Arrow(NoFill)); // TYPE 1' draw((1,-2)--(2,-1),2bp+black,Arrow(SimpleHead,NoFill)); // TYPE 2' draw((2,-2)--(3,-1),2bp+black,Arrow(HookHead,NoFill)); // TYPE 3' draw((3,-2)--(4,-1),2bp+black,Arrow(TeXHead,NoFill)); // TYPE 4' shipout(bbox(5mm,white)); |
unitsize(1cm,0); // TYPE 1 par défaut. draw((0,1)--(5,0),BeginArrow); draw((0,.5)--(5,-.5),MidArrow); draw((0,0)--(5,-1),EndArrow); draw((0,-.5)--(5,-1.5),Arrow); draw((0,-1)--(5,-2),Arrows); draw((0,-1.5)--(5,-2.5),Arrow(Relative(.25))); DefaultHead=SimpleHead; // TYPE 2 draw((0,-3)--(5,-4),BeginArrow()); draw((0,-3.5)--(5,-4.5),MidArrow()); draw((0,-4)--(5,-5),EndArrow()); draw((0,-4.5)--(5,-5.5),Arrow()); draw((0,-5)--(5,-6),Arrows()); draw((0,-5.5)--(5,-6.5),Arrow(Relative(.75))); shipout(bbox(5mm,white)); |
unitsize(1cm,0); DefaultHead=HookHead; // TYPE 3 draw((0,1)--(5,0),BeginArrow()); draw((0,.5)--(5,-.5),MidArrow()); draw((0,0)--(5,-1),EndArrow()); draw((0,-.5)--(5,-1.5),Arrow()); draw((0,-1)--(5,-2),Arrows()); draw((0,-1.5)--(5,-2.5),Arrow(Relative(.25))); DefaultHead=TeXHead; // TYPE 4 draw((0,-3)--(5,-4),BeginArrow()); draw((0,-3.5)--(5,-4.5),MidArrow()); draw((0,-4)--(5,-5),EndArrow()); draw((0,-4.5)--(5,-5.5),Arrow()); draw((0,-5)--(5,-6),Arrows()); draw((0,-5.5)--(5,-6.5),Arrow(Relative(.75))); shipout(bbox(5mm,white)); |
unitsize(1cm); draw((0,0)--(2,2),Arrow,Bar); draw((1,0)--(3,2),Arrow,Bars); draw((2,0)--(4,2),Arrow,BeginBar); draw((3,0)--(5,2),Bars(5mm)); shipout(bbox(2mm,white)); |
unitsize(.8cm); // 4 TYPES de tête de flèche draw((0,0)..(2,2)..(0,4),ArcArrow); // TYPE 1 draw((2,0)..(4,2)..(2,4),ArcArrow(SimpleHead)); // TYPE 2 draw((4,0)..(6,2)..(4,4),ArcArrow(HookHead)); // TYPE 3 draw((6,0)..(8,2)..(6,4),ArcArrow(TeXHead)); // TYPE 4 shipout(bbox(5mm,white)); |
unitsize(.8cm); // 4 TYPES de tête de flèche draw((0,0)..(2,2)..(0,4),2bp+green,ArcArrow); // TYPE 1 draw((2,0)..(4,2)..(2,4),2bp+green,ArcArrow(SimpleHead)); // TYPE 2 draw((4,0)..(6,2)..(4,4),2bp+green,ArcArrow(HookHead)); // TYPE 3 draw((6,0)..(8,2)..(6,4),2bp+green,ArcArrow(TeXHead)); // TYPE 4 shipout(bbox(5mm,white)); |
unitsize(.8cm); draw((0,0)..(2,2)..(0,4),1bp+red,Arrow); draw((2,0)..(4,2)..(2,4),1bp+red,ArcArrow); draw((4,0)..(6,2)..(4,4),1bp+red,Arrow(SimpleHead)); draw((6,0)..(8,2)..(6,4),1bp+red,ArcArrow(SimpleHead)); shipout(bbox(5mm,white)); |
unitsize(1cm); draw("$\sqrt{26}$ cm",(0,5)--(5,4),N,red,Arrows); draw("$x$",(0,4)--(5,3),N,.7bp+blue,Arrows,Bars); draw("$\sqrt{26}$ cm",(0,3)--(5,2),N,green,Arrows(SimpleHead)); draw("$x$",(0,2)--(5,1),S,1bp+red,Arrows(SimpleHead),Bars); draw("$\sqrt{26}$ cm",(0,1)--(5,0),S,blue,Arrows(HookHead),Bars); draw("$AM$",(0,0)--(5,-1),S,green,Arrows(TeXHead),Bars); shipout(bbox(5mm,white)); |
// import geometry_dev; // extension devenue l'extension geometry officielle import geometry; // le 12/05/09, dans la version 1.71 d'asymptote. :-)) unitsize(1cm); point pA=(-1,2), pB=(5,5); draw(segment(pA,pB)); dot("$A$",pA,NW);dot("$B$",pB,NW); // Une utilisation courante de la fonction *distance* : distance("$3\sqrt{5}$ cm",pA,pB); // Pour davantage de personnalisation, // voir l'exemple qui suit. shipout(bbox(5mm,white)); |
/* La fonction *distance* et ses arguments : void distance(picture pic=currentpicture, Label L="", point A, point B, bool rotated=true, real offset=3mm, pen p=currentpen, pen joinpen=invisible, arrowbar arrow=Arrows(NoFill)) */ // import geometry_dev; // extension devenue l'extension geometry officielle import geometry; // le 12/05/09, dans la version 1.71 d'asymptote. :-)) unitsize(1cm); point pC=(-1,2), pD=(5,5); draw(segment(pC,pD)); dot("$C$",pC,NW);dot("$D$",pD,NW); distance("$3\sqrt{5}$ cm", // Label pC,pD, // point A, point B rotated=false, // par défaut : true offset=15mm, // par défaut : 3mm p=blue, // par défaut : currentpen joinpen=dashed, // par défaut : invisible Arrows(Fill(green))// par défaut : Arrows(NoFill) ); shipout(bbox(5mm,white)); |
unitsize(1cm); path seg=(0,4)--(5,3); // définition d'un chemin (segment). transform t=shift(0,-.8); // définition d'une translation. DefaultHead=SimpleHead; draw("$a$",seg,Arrow()); draw(Label("$b$",BeginPoint),t*seg,Arrow()); draw(Label("$c$",EndPoint,red),t^2*seg,Arrow()); draw(Label("$d$",EndPoint,red),t^3*seg,S,Arrow()); draw(Label("$e$",EndPoint,align=S,red),t^4*seg,Arrow()); draw(Label("$f$",align=LeftSide),t^5*seg,Arrow()); draw(Label("$g$",align=RightSide),t^6*seg,Arrow()); draw(Label("$h$",align=Center),t^7*seg,Arrow()); draw(Label("$i$",align=Center,UnFill),t^8*seg,Arrow()); draw(Label("$j$",Relative(.25)),t^9*seg,Arrow()); draw(Label("$k$",Relative(.75),blue),t^10*seg,.5green,Arrow()); shipout(bbox(2mm,white)); |
/* marker StickIntervalMarker(int i=2, int n=1, real size=0, real space=0, real angle=0, pair offset=0, bool rotated=true, pen p=currentpen, frame uniform=newframe, bool put=Above) */ size(7.5cm,0); import markers; // On définit un segment... path p=(0,0)--(5,1); // ... et la translation de vecteur -j(0,-1). transform T=shift((0,-1)); draw(p,StickIntervalMarker(blue,dotframe)); draw(T*p,StickIntervalMarker(2,2,blue,dotframe(red))); draw(T^2*p,StickIntervalMarker(3,2,1bp+blue,dotframe(green))); draw(T^3*p,StickIntervalMarker(4,3,red)); addMargins(.5cm); |
/* marker StickIntervalMarker(int i=2, int n=1, real size=0, real space=0, real angle=0, pair offset=0, bool rotated=true, pen p=currentpen, frame uniform=newframe, bool put=Above) */ size(7.5cm,0); import markers; // On définit un segment... path p=(0,0)--(5,1); // ... et la translation de vecteur -j(0,-1). transform T=shift((0,-1)); draw(p,StickIntervalMarker(dotframe)); draw(T*p,StickIntervalMarker(n=3,angle=45,size=5mm,space=1mm,dotframe)); draw(T^2*p,StickIntervalMarker(n=3,angle=45,size=5mm,space=3mm,dotframe)); draw(T^3*p,StickIntervalMarker(n=3,angle=-45,size=10mm,space=3mm,dotframe)); draw(T^4*p,StickIntervalMarker(i=3,n=2,angle=-45,size=4mm,space=2mm,dotframe)); |
/* marker TildeIntervalMarker(int i=2, int n=1, real size=0, real space=0, real angle=0, pair offset=0, bool rotated=true, pen p=currentpen, frame uniform=newframe, bool put=Above) */ size(7.5cm,0); import markers; // On définit un segment... path p=(0,0)--(5,1); // ... et la translation de vecteur -j(0,-1). transform T=shift((0,-1)); draw(p,TildeIntervalMarker(dotframe)); draw(T*p,TildeIntervalMarker(size=2mm,dotframe(green))); draw(T^2*p,TildeIntervalMarker(n=2,space=1mm,dotframe)); draw(T^3*p,TildeIntervalMarker(i=3,1bp+red,dotframe)); |
/* marker CrossIntervalMarker(int i=2, int n=3, real size=0, real space=0, real angle=0, pair offset=0, bool rotated=true, pen p=currentpen, frame uniform=newframe, bool put=Above) */ size(7.5cm,0); import markers; // On définit un segment... path p=(0,0)--(5,1); // ... et la translation de vecteur -j(0,-1). transform T=shift((0,-1)); draw(p,CrossIntervalMarker(n=4,dotframe)); draw(T*p,CrossIntervalMarker(i=3,n=5,size=2mm,dotframe(green))); draw(T^2*p,CrossIntervalMarker(i=3,n=7,dotframe)); draw(T^3*p,CrossIntervalMarker(i=4,n=8,1bp+red,size=1mm,dotframe(blue))); draw(T^4*p,invisible,CrossIntervalMarker(n=8,1bp+red,size=1mm,dotframe)); |
/* Codage en définissant préalablement des "marker" personnalisés. */ size(7.5cm,0); import markers; // On définit un segment... path p=(0,0)--(5,1); // ... et la translation de vecteur -j(0,-1). transform T=shift((0,-1)); // On définit ses propres styles de codage. // 1. On peut définir des symboles spécifiques... frame frperso2, frperso4; filldraw(frperso2,scale(2mm)*polygon(3),red,blue); filldraw(frperso4,scale(2mm)*polygon(5),green,1bp+blue); // 2. ... et s'en servir pour définir des "marker" persos. marker moncodage1 = marker(stickframe, markinterval(2,dotframe(blue),true)), moncodage2 = marker(stickframe(1bp+red), markinterval(3,frperso2,true)), moncodage3 = marker(crossframe(4,1bp+blue), markinterval(4,tildeframe,true)), moncodage4 = marker(frperso2, markinterval(2,frperso4,true)); draw(p,moncodage1); draw(T*p,moncodage2); draw(T^2*p,moncodage3); draw(T^3*p,moncodage4); |
// OG.asy est, comme son nom l'indique, un fichier de contributions d'O.G.. // téléchargeable ici : OG.asy import OG; // pour profiter de "Bras" : extrémités de segment en forme de crochets. unitsize(1cm,0); draw((0,1)--(5,0),Bra); draw((0,.5)--(5,-.5),BeginBra); draw((0,0)--(5,-1),EndBra); draw((0,-.5)--(5,-1.5),Bras); shipout(bbox(5mm,white)); |
Dernière modification le Tue Sep 10 19:00:32 CEST 2013 par G.Marris Valide XHTML