TeXgraph ou Asymptote ?

Tout ce qui concerne le langage Asymptote. Ce langage est utilisable sur le forum via les balises asy.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Ph. Ivaldi

Message non lu par Ph. Ivaldi »

francois a écrit : Alors là, du coup je ne sais plus où donner de la tête.
Je voulais savoir : sur le site d'Asymptote la doc est en anglais, existe-t-il des docs en français ?
Non, il n'y a pas de documentation en français.
Je pense d'ailleurs qu'il serait très difficile d'en maintenir une à jour, tant l'évolution de ce logiciel est rapide.
Pour les animations, en voici une que j'ai réalisée et qui fait partie des exemples officiels.
Tout se résume en fait à:

Code : Tout sélectionner

save();
A.add();
restore();
A.movie(0,50);
save() : marque un point de restoration de l'image.
A.add() : ajoute le dessin en cours à l'animation A.
restore() : réinitialise la figure au précédent point de restoration.
et enfin A.movie(des paramètres) génère l'animation A.
Après lors de l'intégration dans un fichier TeX, on peut ajouter des boutons.

Code : Tout sélectionner

// Author : Philippe Ivaldi
// 2006/11/10

import animate;
import graph;

unitsize(x=2cm,y=1.5cm);

typedef real realfcn(real);

real lambda=4;
real T=2;
real [] k=new real[3];
real [] w=new real[3];
k[0]=2pi/lambda;
w[0]=2pi/T;
real dk=-.5;
k[1]=k[0]-dk;
k[2]=k[0]+dk;
real dw=1;
w[1]=w[0]-dw;
w[2]=w[0]+dw;

real vp=w[1]/k[1];
real vg=dw/dk;

realfcn F(real x) {
  return new real(real t) {
    return cos(k[1]*x-w[1]*t)+cos(k[2]*x-w[2]*t);
  };
};

realfcn G(real x) {
  return new real(real t) {
    return 2*cos(0.5*(k[2]-k[1])*x+0.5*(w[1]-w[2])*t);
  };
};

realfcn operator -(realfcn f) {return new real(real t) {return -f(t);};};

animation A;

real tmax=abs(2pi/dk);
real xmax=abs(2pi/dw);

pen envelope=0.8*blue;
pen fillpen=lightgrey;

int n=50;
real step=tmax/(n-1);
for(int i=0; i < n; ++i) {
  save();
  real t=i*step;
  real a=xmax*t/tmax-xmax/pi;
  real b=xmax*t/tmax;
  path f=graph(F(t),a,b);
  path g=graph(G(t),a,b);
  path h=graph(-G(t),a,b);
  fill(buildcycle(reverse(f),g),fillpen);
  draw(f);
  draw(g,envelope);
  draw(h,envelope);
  A.add();
  restore();
}

for(int i=0; i < n; ++i) {
  save();
  real t=i*step;
  real a=-xmax/pi;
  real b=xmax;
  path f=graph(F(t),a,b);
  path g=graph(G(t),a,b);
  path h=graph(-G(t),a,b);
  path B=box((-xmax/pi,-2),(xmax,2));
  fill(buildcycle(reverse(f),g,B),fillpen);
  fill(buildcycle(f,g,reverse(B)),fillpen);
  draw(f);
  draw(g,envelope);
  draw(h,envelope);
  A.add();
  restore();
}

A.movie(0,50);
Pièces jointes
wavepacket.gif
(456.76 Kio) Téléchargé 460 fois
francois
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 856
Inscription : jeudi 21 septembre 2006, 00:14
Localisation : Antony

Message non lu par francois »

Superbe !!!
samuel.biton

Message non lu par samuel.biton »

Je reprends sur la réponse d'altermondus
Question : est-ce que voir est un avantage ? Latex ne permet pas vraiment de voir et pourtant on lui reconnait un avantage sur Word. Ici il s'agit de dessin, mais cela est un peu la même chose.
Oui, mais, à mon avis, le comparatif ne vaut pas, car en fait TeXgraph n'est pas un wysiwyg....
a) la qualité de l'imprimé vaut-celle obtenue avec metapost ou pstricks ou je pense asymptote. Ce n'est pas le cas entre $\LaTeX$ et Word...
b) il s'agit toujours d'écrire un "source", simplement, une interface graphique sert d'aide pour cela.
Mais bon je sais que pour beaucoup d'utilisateur de $\LaTeX$, l'idée même de visalisation instantanée et d'interface graphique est rédhibitoire
Pour déplacer des points avec Tikz pas de problème, surtout si on travaille en relatif et vectoriel. Une compilation, non seulement on a son dessin mais en plus placé dans le document, et en faire une variante est chose très aisée; On réutilise son code !
Justement, quand on dit "une compilation" et "hop".... j'ai l'impression qu'on sous-estime un peu le problème. Je ne nie pas que la modification est facile en principe mais que des répétitions de modifications-compilation-visualisation peuvent finir par être pénibles non ?

Samuel
samuel.biton

Message non lu par samuel.biton »

Sur les questions de François :




3) Existe-t-il une sorte de commande \multido chez Asymptote ? et chez TeXgraph ?

4) Peut créer ses propres macro chez Asymptote ? et chez TeXgraph ?

5) Peut-on faire des calculs chez Asymptote ? et chez TeXgraph ?
3) oui pour TeXgraph qui a un langage complet de programmation, et je pense oui pour Asymptote pour la même raison.

4) Même réponse

5) Même réponse... après, il faut peut-être comparer la précision des calculs numériques. La je ne sais pas.


Samuel
Ph. Ivaldi

Message non lu par Ph. Ivaldi »

francois a écrit :Je voudrais résumer des questions que j'ai actuellement :

1) Sur le site d'Asymptote la doc est en anglais, existe-t-il des docs en français ?
Non.
francois a écrit :3) Existe-t-il une sorte de commande \multido chez Asymptote ? et chez TeXgraph ?

4) Peut créer ses propres macro chez Asymptote ? et chez TeXgraph ?

5) Peut-on faire des calculs chez Asymptote ? et chez TeXgraph ?
Oui, oui et mille fois oui.
Asymptote et TeXgraph sont de VRAI langages de programmation avec plus de fonctionnalités que tu ne peux en imaginer.

Au passage, "Asymptote" sait résoudre des systèmes linéaires, des équations du 3ieme degrès, faire de l'interpolation etc etc, il peut même appeler les routines de gsl.
Honnêtement je pense que "Asymptote" est sans limites.
Ph. Ivaldi

Message non lu par Ph. Ivaldi »

samuel.biton a écrit :il faut peut-être comparer la précision des calculs numériques. La je ne sais pas.
Pour TeXgraph je ne sais pas non plus mais pour Asymptote la précision maximale est 2.22044604925031e-16 et le plus grand nombre utilisable est 1.79769313486232e+308.

En tout cas ce sont les valeurs par défaut...
francois
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 856
Inscription : jeudi 21 septembre 2006, 00:14
Localisation : Antony

Message non lu par francois »

Très bien merci mille fois pour toutes vos réponses.

Je vais arrêter de poser plein de questions, et je vais tacher de découvrir les choses par moi-même.

Merci beaucoup.


A bientôt.
samuel.biton

Message non lu par samuel.biton »

A propos de l'animation envoyé par Ph Ivaldi (et du sujet animation) :

d'abord effectivement, c'est très réussi..

ensuite, quand j'ai parlé d'animations avec TeXgraph, je n'ai pas été complet...On peut faire le genre d'animations que tu proposes mais aussi des plus interactives et "modulables" a condition de laisser la visualisation dans l'interface graphique de TeXgraph à laquelle on peut ajouter ses propres boutons permettant des modifications "en direct" (par exemple d'une fonction, d'une droite, d'un paramètre intervenant dans le fichier ....). Patrick a mis ce type d'exemples sur le forum TeXgraph.

Samuel
P.Fradin

Message non lu par P.Fradin »

Ph. Ivaldi a écrit : Pour TeXgraph je ne sais pas non plus mais pour Asymptote la précision maximale est 2.22044604925031e-16 et le plus grand nombre utilisable est 1.79769313486232e+308.

En tout cas ce sont les valeurs par défaut...
Pour TeXgraph je n'ai plus les valeurs exactes en tête, mais c'est le type Double du pascal, je me souviens qu'en gros c'est de l'ordre de $10^{308}$, donc je pense qu'on doit être à peu près pareil.

Quant au langage de programmation: celui de TeXgraph n'est pas aussi complet que celui d'Asymptote, ça c'est clair, mais c'est largement suffisant pour le moment puisqu'on peut programmer les calculs. Au fait, est-ce qu'Asymptote sait dériver formellement? (Ce pourrait être un plus de TeXgraph :lol: )
Altermundus
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 558
Inscription : lundi 28 mai 2007, 10:31
Statut actuel : Autre
Localisation : Paris

Message non lu par Altermundus »

francois a écrit :Je voudrais résumer des questions que j'ai actuellement :

1) Sur le site d'Asymptote la doc est en anglais, existe-t-il des docs en français ?

2) Les syntaxes entre tiks et pstricks sont très proches, non ?

3) Existe-t-il une sorte de commande \multido chez Asymptote ? et chez TeXgraph ?

4) Peut créer ses propres macro chez Asymptote ? et chez TeXgraph ?

5) Peut-on faire des calculs chez Asymptote ? et chez TeXgraph ?

Merci d'avance
1) je passe Philippe va répondre en revanche pour Tikz il existe une doc en anglais très bien faite, il y a une version française sur la version 1. Et je suis en train d'en faire une. Pstricks a beaucoup de docs mais anciennes, éparpillées

2) oui et non Tikz a pris le bon chez Pstricks et chez Metapost au niveau syntaxe.
Pour moi il est plus clair que Pstricks où souvent il y a trente sis façons de faire lea même chose. Les modules sont inégaux car les auteurs sont différents. Il y a eu bcp d'adaptation et finalement on se noie un peu. Multido que tu sembles adorer à son pendant chez Tikz en mieux et plus simple qui est "foreach".
La syntaxe de Tikz me semble homogène et finalement il y a très peu de choses à assimiler . La notion de Node et c'est tout. Tikz est fourni avec une doc et sa source et on peut recompiler tous les exemples. C'est ce que j'ai fait et j'ai appris comme cela. (Avant j'étais sous Pstricks et franchement c'était moins aisé).

3) asymptote possède tout ce qu'un langage de programmation fournit mais tout dépend de ta culture programmation, autant j'adore le pascal autant je déteste le C et j'avoue que la syntaxe d'Asymptote ne m'inspire pas. Pour être plus complet pstricks et tikz sont plus proche de LaTeX, Asymptote est plus proche de C++ si tu aimes c'est pour toi ! Il est sensé interagir naturellement avec LateX (Philippe nous dira si tous les problèmes sont réglés)
Le langage de TexGraph possède bien sûr des boucles mais là aussi , il faut apprendre une syntaxe maintenant ce qui serait intéressant c'est de juger ce qu'on obtient comme code pgf ou pstricks ? Je n'ai jamais vraiment apprécier les codes exportés.

4) oui si on sait programmer

5) Pour les calculs, tu vas te faire incendier...même Tikz peut calculer et pourtant c'est le plus gros reproche qu'on lui fait

Alain