Je mets une copie de l'exemple ici car :
- je viens de réaliser que certaines images que je mettais, à l'époque, en ligne avec imageshack.us, ne sont plus disponibles et donc j'imagine que toutes les images dans ce cas vont avoir le même sort ;
- je le trouvais intéressant à faire... même si il faudrait le revoir pour l'optimiser.
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
- real u=3;
- unitsize(u*cm);
- texpreamble("\newcommand{\dfrac}[2]{\displaystyle\frac{#1}{#2}}");
- string[] s={"$\dfrac{4}{5}$",
- "$=$",
- "$\dfrac{\ldots\vphantom{1}}{15}$",
- "$=$",
- "$\dfrac{20}{\ldots}$",
- "$=$",
- "$\dfrac{\ldots\vphantom{1}}{20}$"
- };
- envelope[] env={box,box, box, box, box,box, roundbox};
- pen[] couleur={red,nullpen,blue,nullpen,red,nullpen,blue};
- object[] obj=new object[s.length];
- real dx=0;
- for(int k=0; k<s.length; ++k){
- obj[k] = object(Label(scale(u)*s[k],(dx,0),Align,basealign),env[k],couleur[k]);
- dx+=((max(obj[k])-min(obj[k])).x/(u*cm));
- }
- frame o=pack(align=realEpsilon*E,obj[0],obj[1],obj[2],obj[3],obj[4],obj[5],obj[6]);
- add(o);
- draw((0,0)--(truepoint(E).x,0),dotted+red);
- add(new void(picture pic, transform t) {
- transform it=inverse(t);
- // Flèche noire
- draw(pic,point(obj[0],N,t){N}..tension 3 ..{S}point(obj[6],N,t),ArcArrows);
- // Flèche verte
- path flecheverte = point(obj[0],S,t){S}.. {N}point(obj[2],S,t);
- pair posplus= point(flecheverte,.7);
- Label labplus=scale(.5)*"+",
- labelvert=Label(labplus,posplus);
- object lab = object(labelvert,box,nullpen);
- draw(pic,flecheverte,.8green,ArcArrows);
- // Flèche bleue
- draw(pic,(it*point(lab,S,t){SE}..tension 2 ..{N}point(obj[6],S,t)),blue,ArcArrow);
- // Ajout du +
- label(pic,scale(u)*labplus,posplus,Fill(white));
- });