Journal : METAPOST 1.0 est sorti
Posté par fleny68 () le 14 juin 2007
La chose m'avait échappé, mais oui: METAPOST 1.0 est sorti.
http://tug.org/pipermail/metapost/2007-April/000902.html
On peut le télécharger là:
https://foundry.supelec.fr/projects/metapost/
Mais le site de supelec est en carafe, il donne pas les fichiers. Encore un coup des grandes écoles parisiennes.
Et si on attend qu'il arrive, mettons, dans debian (au hasard):
- il va devoir d'abord arriver dans texlive. en 2008 puisque texlive c'est une fois par an.
- ensuite il va falloir que texlive 2008 arrive dans sid puis testing.
- ensuite il faudra attendre que debian sorte une nouvelle version. Donc fin 2008 au mieux.
Je crois que vais plutôt essayer de me le compiler moi-même.
METAPOST, c'est un langage pour faire de jolis dessins.
http://fr.wikipedia.org/wiki/Metapost
http://melusine.eu.org/syracuse/metapost/galeries/
Animations avec les swftools:
http://melusine.eu.org/syracuse/metapost/animations/
Plein d'exemples avec LaTex:
http://melusine.eu.org/lab/cp
Sinon on peut utiliser Texmaker pour mixer des images Metapost avec Latex (si on aime pas la ligne de commande).
http://www.xm1math.net/texmaker/index_fr.html
http://tug.org/pipermail/metapost/2007-April/000902.html
On peut le télécharger là:
https://foundry.supelec.fr/projects/metapost/
Mais le site de supelec est en carafe, il donne pas les fichiers. Encore un coup des grandes écoles parisiennes.
Et si on attend qu'il arrive, mettons, dans debian (au hasard):
- il va devoir d'abord arriver dans texlive. en 2008 puisque texlive c'est une fois par an.
- ensuite il va falloir que texlive 2008 arrive dans sid puis testing.
- ensuite il faudra attendre que debian sorte une nouvelle version. Donc fin 2008 au mieux.
Je crois que vais plutôt essayer de me le compiler moi-même.
METAPOST, c'est un langage pour faire de jolis dessins.
http://fr.wikipedia.org/wiki/Metapost
http://melusine.eu.org/syracuse/metapost/galeries/
Animations avec les swftools:
http://melusine.eu.org/syracuse/metapost/animations/
Plein d'exemples avec LaTex:
http://melusine.eu.org/lab/cp
Sinon on peut utiliser Texmaker pour mixer des images Metapost avec Latex (si on aime pas la ligne de commande).
http://www.xm1math.net/texmaker/index_fr.html
> Lire le journal (35 commentaires, moyenne: 2,1).
Vous avez demandé le commentaire #841936.



Et par rapport à pgf/Tikz et autres ?
Je me posais une question : quels sont les avantages et inconvénients de metapost par rapport à pgf/tikz ou pstricks ?
J'aimerais bien me mettre à un de ces langages...
M.
[^]Re: Et par rapport à pgf/Tikz et autres ?
L'avantage, c'est que c'est cohérent avec TeX. Normal, metapost est juste une extension de metafont pour faire des dessins autres que juste des polices de caractère, et metafont a été inventé par Donald en même temps que TeX.
L'inconvénient, c'est que c'est cohérent avec TeX, que la syntaxe en est encore plus horrible, que c'est un bordel incompréhensible et que la doc est très rare et franchement pas claire.
Sinon, c'est beaucoup plus puissant que pstricks, mais je crois que ça vaut pgf/tikz (que je ne connais pas bien). Et il y a aussi asymptote qui se veut un metapost avec une syntaxe proche du C++.
Vous devriez vraiment visiter Aperture First !
[^]Re: Et par rapport à pgf/Tikz et autres ?
il me semble qu'asymptote gère directement la 3D. C'est pas seulement un chanement de syntaxe.
Pour la syntaxe, c'est celle de METAFONT, qui n'a rien à voir avec celle de TeX. cf les exemple que j'ai mis en lien dans l'autre post.
[^]Re: Et par rapport à pgf/Tikz et autres ?
L'inconvénient, c'est que c'est cohérent avec TeX, que la syntaxe en est encore plus horrible, que c'est un bordel incompréhensible et que la doc est très rare et franchement pas claire.
En anglais, il y a les 3 documents officiels:
http://www.tug.org/metapost.html
Et pusi quelques autre, par exemple:
http://www.ursoswald.ch/metapost/tutorial.html
En français, il y a des docs, des exemples, et des macros sur Syracuse:
http://melusine.eu.org/syracuse/metapost/
Et ils ont même une liste de diffusion.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Ce que j'aime bien dans METAPOST, c'est sa capacité à résoudre des équations, et son extensibilité par des macros.
Voir par exemple la doc des macros de géométrie de Christophe Poulain:
http://melusine.eu.org/syracuse/texpng/cprl/christophe/docs/(...)
Ici un exemple d'utilisation pour un dessin «à main levée» d'un cercle et ses deux tangentes passant par un point M.
http://ticeblog.ycombe.net/index.php/2007/06/07/91-faire-des(...)
Ici un document détaillant les différences entre METAPOST et les logiciels de dessin classique.
http://www.loria.fr/~roegel/TeX/41-roegel.pdf
[^]Re: Et par rapport à pgf/Tikz et autres ?
Plus précisément, Metapost embarque un solveur d'équation linéaire. Ça permet de faire ça [1] sans faire trop de calcul.
Dans l'exemple que je donne, je dessine plein de pentagone ayant des côté en commun. J'ai donc les points z0 et z1 qui sont définit et j'aimerai calculer les points
z2, z3, z4 qui me finissent mon pentagone. Pour cela, il suffit d'écrire
z2-z1=(z0-z1) rotated 108;
z3-z2=(z1-z2) rotated 108;
z4-z3=(z2-z3) rotated 108;
et paf, les points z2, z3 et z4 sont calculés.
Si on veut une application affine qui transforme z1 et z2, z3 en z4 et z5 en z6, on écrit
transform T;
z1 transformed T=z2;
z3 transformed T=z4;
z5 transformed T=z6;
et après, on peut appliquer la transformation T à n'importe quoi.
[1] http://frederic.mazoit.free.fr/LaTeX_metapost/calendrier/
[^]Re: Et par rapport à pgf/Tikz et autres ?
Vu les équations que Metapost est capable de résoudre, c'est vraiment une fonctionnalité anodine.
Tous les langages mentionnés dans ce journal sont capable de ça.
Metapost est un langage obsolète qui ne permet même pas de passer facilement des paramètres optionnels.
[^]Re: Et par rapport à pgf/Tikz et autres ?
> Vu les équations que Metapost est capable de résoudre,
> c'est vraiment une fonctionnalité anodine.
C'est peut-être une fonctionnalité anodine mais c'est la seule raison pour laquelle je ne suis pas encore passé à asymptote.
Comme toujours, à partir du moment où on travaille avec un langage Turing puissant, on peut faire la même chose. Oui mais l'expressivité, c'est quelque chose d'essentiel.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Ben c'est bien dommage de se priver de la puissance d'Asymptote pour ça.
Dans la pratique cette fonctionnalité sert essentiellement à trouver le point d'intersection de deux droites; Asymptote utilise pour cela la routine "extension(pair P, pair Q, pair p, pair q)".
Comme mentionné à cette page http://asymptote.sourceforge.net/FAQ/section8.html#whatever s'il y a beaucoup de personnes à demander cette fonctionnalité elle pourra être implémentée.
Tu peux aussi la coder toi même en utilisant le solveur matriciel et la proposer à l'équipe des développeurs.
Par curiosité, comment définit-on en Metapost la transformation "projection sur une droite parallèlement à une deuxième" ?
Une fois qu'elle est définie peut-on l'appliquer à tout les objets où faut-il coder un routine spécialisée pour chacun ?
[^]Re: Et par rapport à pgf/Tikz et autres ?
Je ne suis pas prof de math et je ne dessine donc pas de mediatrice...
Dans la pratique, je l'utilise surtout quand j'ai dessiné un bout de schéma que je stock dans une "picture" et que je veux placer ce schéma dans un dessin plus gros.
J'utilise ce genre de chose aussi quand je veux placer des boites les unes par rapport aux autres. Par exemple,
A.c=(0,0);
xpart(A.c-B.c)=0;
ypart(D.c-C.c)=0;
xpart(C.c)=xpart(.5[A.c,B.c]);
ypart(D.c-C.c)=ypart(C.c-A.c);;
ypart(A.c-D.c)=3xpart(B.c-A.c)=15cm;
drawboxed(A,B,C,D);
[^]Re: Et par rapport à pgf/Tikz et autres ?
Ils ont tous des avantages inconvénients. Je me suis mis récemment à pgf/tikz et je pense y rester.
Metapost et pstriks sont plus puissant. Metapost à un solveur d'équations. Pstriks offre presque tout ce que peut faire postscript (donc ton imprimante). Pgf est pcp plus portable. Pgf permet de tracer facilement, joliment, de manière intégrer avec ton latex grâce à gnuplot (j'adore !). Metapost permet de faire des animations je crois. Je crois que pour faire de l'inline on ne peut utilser que pgf ou pstriks.
Pour finir asymptote est le plus puissant de tous parce qu'il a été conçu ainsi. C'est un véritable langage de programmation pour le graphisme avec les structure conditionnelle etc. On peut faire des animations, des animations, tracer des courbes hyper facilement. Il généère un eps donc n'est pas lié à LaTeX comme pgf. J'ai trouvé qu'il n'avait que des qualités mais pour faire de l'inline il n'est pas pratique donc je trouve l'intégration moins facile (avec le reste du latex).
Donc pour la plupart de mes figure j'utilise pgf qui est vraiment bien. Pour les figures indépendant ou très compliqué je me garde asymptote sous le code. Pstriks est trop brute et pas portable (pas de pdflatex). Metapost m'est presque inconnu.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Pour finir asymptote est le plus puissant de tous parce qu'il a été conçu ainsi. C'est un véritable langage de programmation pour le graphisme avec les structure conditionnelle etc. On peut faire des animations, des animations, tracer des courbes hyper facilement. Il généère un eps donc n'est pas lié à LaTeX comme pgf. J'ai trouvé qu'il n'avait que des qualités mais pour faire de l'inline il n'est pas pratique donc je trouve l'intégration moins facile (avec le reste du latex).
ça s'applique déjà à METAPOST, tout ça. Asymptote gère en plus la 3D et les nomres flottants.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Non, Metapost est un langage de programmation pauvre et dépassé:
* la précision des calculs est de l'ordre de 1e-4;
* pas de paramètres optionnels;
* pas de notion de signature de routines;
* pas de notion d'objet (pour un logiciel de création graphique c'est vraiment dommage).
C'est déjà énorme mais il fait aussi beaucoup d'autres choses:
* équations matricielles;
* équations polynomiales du 2eme, 3eme et bientôt 4eme degré;
* différents types d'interpolations;
* etc...
Le reproche que l'on peut faire à Asymptote est sa jeunesse.
Beaucoup de modules ont été écrit pour Metapost alors qu'en Asymptote beaucoup reste encore à faire.
En tout cas Asymptote a plus de potentiel que le mourant Metapost.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Allez je marche dedans.
la précision des calculs est de l'ordre de 1e-4;
Super. Heureusement que c'est pour faire du dessin et pas prédire la météo.
pas de paramètres optionnels;
Mince alors, il faudra le dire à Christophe Poulain. Dans ses macros il y en a ou les paramètres sont vachement variables. Cercles peut predre deux, points, un points une distance...
pas de notion de signature de routines;
J'ai l'air bête si je te dis que ke ne sais pas ce que tu veux dire par là?
pas de notion d'objet (pour un logiciel de création graphique c'est vraiment dommage).
Génial. J'aurait pas osé. Pourquoi tu ne lui reproche pas de ne pas être un langage fonctionnel en plus?
Asymptote fait aussi beaucoup d'autres choses.
Tiens tu devrais mettre à jour sa page sur wikipedia. Je me suis un peu basé dessus pour la différence entre les deux.
Mais le gros reproche qu'on peut faire à Asymptote, tu l'as un peu oublié: adopter une syntaxe proche de l'imbittable c++, c'est quand même une faute de gout impardonnable.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Si tu connaissais un temps soit peu les calculs nécessaire pour faire du graphisme de qualité tu ne dirais pas ça.
Essaye de faire une routine en Metapost qui place un point sur une ellipse d'après son abscisse curviligne, tu comprendras pourquoi 1e-4 de précision est insuffisant.
Sais-tu au moins comment on code des paramètres optionnels en Metapost ?
Il faut écrire un truc du genre: vardef cercles(text t)=...
et il faut se farcir un scan du texte pour en extraire tous les éléments.
Encore plus loufoque, des paramètres optionnels avec des valeurs par défaut:
http://melusine.eu.org/syracuse/metapost/vrac/ivaldi/options(...)
Tu appels ça un langage de programmation puissant ? Moi non.
Simplement parce qu'un composant graphique se décrit et se manipule plus facilement dans un langage objet que dans un langage fonctionnel.
En Metapost les seules choses que tu puisses manipuler sont les points, les chemins, les couleur, et un peu les transformations; à l'époque c'était bien joli mais maintenant on est capable de faire légèrement mieux.
Il n'y a pas que Wikipedia sur la toile: [pub]http://piprim.tuxfamily.org/[/pub]
C'est un point de vue totalement subjectif que je ne partage pas.
Le débogage en Metapost c'est une horreur et je qualifierais la syntaxe de molle.
J'ai pas mal codé en Metapost et en Asymptote.
Avec Metapost on passe son temps à chercher comment on va contourné les limitations, avec Asymptote, une fois les structures bien définies, le code coule de source.
Tiens j'ai oublié une autre limitation de Metapost: pas la possibilité de faire de la transparence.
Qu'on ne dise pas « il y a les routines d'Anthony Phan », l'auteur affirme lui-même que ce n'est pas robuste.
Bref, si l'on veut débuter dans un langage de graphisme pour LaTeX il ne faut pas choisir Metapost car il n'a pas d'avenir.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Essaye de faire une routine en Metapost qui place un point sur une ellipse d'après son abscisse curviligne, tu comprendras pourquoi 1e-4 de précision est insuffisant.
J'ai fait ça plusieurs fois, et je ne vois pas où est le problème au niveau de la précision.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Le problème est qu'il faut utiliser un algorithme pour calculer les valeurs approchées d'une intégrale elliptique puis utiliser une méthode type dichotomie pour trouvé les coordonnées polaires du point relativement à un foyer de l'ellipse et un de ses axes.
L'algorithme pour l'intégrale elliptique est très sensible aux erreurs d'arrondi, ajoute à cela l'approximation de la dichotomie et enfin la conversion polaire -> rectangulaire; le point a de bonne chance de se trouver en dehors de l'ellipse.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Pour ce genre de choses, je ne vois pas pourquoi tu n'approximes pas ton ellipse pas des segments de droites. Avec le truc super basique ci dessous, j'obtiens 3.14142 comme approximation de pi, ce qui n'est pas trop mal. En faisant un truc plus évolué avec un pas adaptatif, on peut très bien obtenir quelque chose de suffisamment précis et de rapide.
u=5cm;
beginfig(1)
path elipse;
pair a;
elipse=(u,0)..
for i=1 upto 99:
((u,0) rotated (3.6*i))..
endfor cycle;
s=0;
l=.01;
for i=l step l until length(elipse):
a:=(point i of elipse)-(point (i-l) of elipse);
s:=s+((xpart a)++(ypart a));
draw point i of elipse;
endfor;
show s/(2u);
endfig;
end
[^]Re: Et par rapport à pgf/Tikz et autres ?
>> Pour ce genre de choses, je ne vois pas pourquoi tu n'approximes pas ton ellipse pas des segments de droites.
1. parce que je veux une routine générique qui ne dépende pas du nombre de points de l'ellipse;
2. parce que c'est très très long à l'exécution.
Avec ton code:
time mpost essai.mp donne "real 0m1.692s"
>> Avec le truc super basique ci dessous, j'obtiens 3.14142 comme approximation de pi
Avec ce code j'obtiens 3.1415926535898:
8<------8<------8<------8<------8<------8<------8<------8<------
import graph;
write(arclength(Circle((0,0),1))/2);
8<------8<------8<------8<------8<------8<------8<------8<------
et "time asy essai" donne "real 0m0.812s"
Pour des ellipses un peu allongées, une bonne précision et un temps de compilation acceptable ton code n'est pas optimum.
[^]Re: Et par rapport à pgf/Tikz et autres ?
C'est clair que mon code est lent. Cependant, j'ai écris le code ci-dessus en 5 minutes. Je n'ai pas essayé d'implémenter un algo à pas variable.
J'imagine que pour la méthode à coup d'intégrale elliptique, tu utilises un algo d'approximation et pour que le temps de calcul ne soit pas trop long, tu dois utiliser une méthode à pas adaptatif auquel cas, l'algo serait fondamentalement du même type. Pour ce qui est du nombre de points de l'ellipse, length(C) permet de régler le problème.
Par ailleurs, je ne prétends pas qu'asymptote, c'est de la merde et que metapost, c'est génial. D'ailleurs, quand on me demande comment je fais les figures, je mentionne metapost mais je conseille asymptote. Si je ne connaissais pas metapost, je commencerais par asymptote. Maintenant, au vu de l'utilisation et la connaissance de metapost que j'ai, asymptote n'apporte pas assez d'avantages pour que je saute le pas. Il manque juste le solveur linéaire dont je me sert beaucoup.
Bref.
Frédéric
P.S. je trouve amusant de me voir "trans-cité" dans un autre forum.
[^]Re: Et par rapport à pgf/Tikz et autres ?
On a réussi à finir d'accord !
Bon week-end.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Je sais pas si j'ai bien compris ce que tu cherchais à faire, mais pourquoi tu n'utilises pas le arclength de METAPOST si tu utilises celui d'Asymptote?
$ cat ellipse.mp
show (arclength(fullcircle xscaled 200));
end
$ time mpost ellipse.mp
(ellipse.mp
>> 400.03091 )
Transcript written on ellipse.log.
real 0m0.086s
user 0m0.068s
sys 0m0.020s
---------------------------------------------------
$ cat ellipse.asy
import graph;
write(arclength(xscale(100.0)*Circle((0,0),1)));
$ time asy ellipse.asy
400.109832972265
real 0m2.083s
user 0m1.936s
sys 0m0.108s
--------------------------------------------------
C'est sûr qu'Asymptote est plus précis, mais ça se paye d'une certaine lenteur. Peut-être due en partie à la digestion de l'import, d'ailleurs.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Tout d'abord il a un problème:
en Metapost tu prends un cercle défini par 4 noeuds alors qu'avec Asymptote tu en prends un défini par 400 points.
Je dois quand même avouer qu'Asymptote est globalement plus lent que Metapost, c'est connu.
Ensuite tu a bien cerné le problème, l'utilisation de "arclength" est très gourmande (surtout avec Asymptote) pour un résultat somme toute approximatif.
Je développe actuellement le module de géométrie pour Asymptote en définissant les objets "line", "circle", "ellipse" etc..
Je travaille sur la définition des objets non sur leur représentation (le path); cela me fait gagner en précision et en rapidité.
Ensuite on peut tracer les objets avec autant de points que l'on veux en modifiant une variable globale.
Comme normalement on ne trace les objets qu'une seule fois, le temps de compilation reste réduit.
Voici ce que j'obtiens avec mon module en développement:
8<------8<------8<------8<------8<------8<------8<------8<------
import geo_dev;
ellipse el=ellipse((0,0),100,1);
write(el.e);
write(arclength(el));
8<------8<------8<------8<------8<------8<------8<------8<------
$ time asy essai [1]
e=0.999949998749938
l=400.109832972265
real 0m0.930s
user 0m0.840s
sys 0m0.010s
Attention, le 'arclength' utilisé s'applique ici à l'objet 'ellipse' et appelle des routines qui me sont propres (c'est l'histoire des signature: deux routines peuvent avoir le même nom à condition qu'elles aient des paramètres différents); elles sont basées sur l'approximation d'une intégrale elliptique grâce aux algorithmes trouvés ici: http://www.nrbook.com/b/bookcpdf/c6-11.pdf
La valeur de 'e', l'excentricité, est calculée à 1e-18.
Avec le logiciel (libre bien sûr) de calcul formel Maxima j'obtiens:
(%i1) 4*100*elliptic_ec(0.999949998749938^2);
(%o1) 400.1098329722645
Voici ce que j'obtiens avec Metapost et 999 points
8<------8<------8<------8<------8<------8<------8<------8<------
u=1;
path ellipse;
pair a;
N=999;
pas=360/(N+1);
ellipse=(u,0)..
for i=1 upto N:
((u,0) rotated (pas*i))..
endfor cycle;
ellipse:=ellipse xscaled 100;
show(arclength(ellipse));
8<------8<------8<------8<------8<------8<------8<------8<------
$ time mpost essai.mp
>> 400.11249 )
Transcript written on essai.log.
real 0m0.197s
user 0m0.170s
sys 0m0.010s
soit une erreur de -2.657028e-3, ce qui est très convenable.
Cependant avec la précision de calcul d'Asymptote on peut se resservir des résultats dans d'autres calculs sans trop de crainte sur les erreurs d'arrondi.
D'ailleurs si Metapost ou même pstricks ont du mal avec la 3D c'est bien à cause des problèmes d'arrondi.
Si ça t'intéresse, tu peux voire mon travail de dev ici:
http://piprim.tuxfamily.org/asymptote/travaux/
On remarquera en particulier la possibilité de travailler dans un repère cartésien quelconque, chaque objet étant lié à son propre repère, le tout de façon complètement transparente pour l'utilisateur.
[1] Pour que ces résultat soient comparables voici ce que donne la compilation de ton code chez moi:
real 0m0.243s
user 0m0.140s
sys 0m0.010s
[^]Re: Et par rapport à pgf/Tikz et autres ?
Il n'y a pas que Wikipedia sur la toile: [pub]http://piprim.tuxfamily.org/[/pub]
Tu n'as pas bien compris. Comme je n'utilise pas asymptote, pour comparer les fonctionnalités je me suis naturellement tourné vers wikipedia. Ta page contient des exemples très jolis, mais ne décrit pas les fonctionnalité d'Asymptote comme tu viens de le faire.
D'ailleurs la page d'asymptote http://asymptote.sourceforge.net/ ne donne guère plus que ce que résume wikipedia. Ce que tu ajoutes n'est clairement affiché nulle part. D'ou ma suggestion de mettre à jour la page de wikipedia.
Maintenant la plupart des exemples de ta page sont réalisables en METAPOST. METAPOST convient très bien à quelques personnes. Il est toujours maintenu. Pourquoi vouloir leur interdire de l'utiliser? La liberté c'est le choix, aussi.
D'ailleurs si les mecs qui ont fait Asymptote avaient eu la bonne idée de garder la syntaxe (nettement plus lisible) de METAPOST, on aurait pu avoir une compatibilité de l'un vers l'autre. Au lieu de ça tu te sens obligé de venir agresser les gens qui utilisent METAPOST, parce que tu ne peux pas utiliser leur travail avec Asymptote. C'est un peu idiot, non?
J'utiliserai surement asymptote le jour ou je voudrai faire des trucs pour lesquels METAPOST suffit pas. J'irai pas pour autant agresser les gens qui utilisent METAPOST pour leur dire de l'abandonner.
Tu as l'air un peu aigri, c'est parce qu'Asymptote n'a pas le succès qu'il mérite? Fait un article pour DFLP à la prochaine révision majeure, enrichis sa page sur wikipedia, écrit des scripts pour récupérer les fichiers METAPOST dans Asymptote. Mais agresser les utilisateurs de METAPOST comme ça, c'est le meilleur moyen de ne pas leur donner envie d'y venir voir.
[^]Re: Et par rapport à pgf/Tikz et autres ?
Loin de moi l'idée d'interdire quoi que ce soit.
Je veux simplement signaler que Metapost est obsolète et j'en expose, peut-être brutalement, les raisons.
Je ne suis pas aigri mais je m'emporte rapidement, c'est mon tempérament par trop latin; ce qui m'a énervé c'est la fascination que tu sembles avoir pour ce langage qui, s'il est expressif (je le reconnais), n'en ait pas moins très limité.
Excuses moi si tu t'es senti agressé, ce n'était vraiment pas mon but.
En revanche il est vrai qu'Asymptote n'a pas (pas encore) le succès qu'il mérite.
Sans rancunes.