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.
francois
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 856
Inscription : jeudi 21 septembre 2006, 00:14
Localisation : Antony
Contact :

TeXgraph ou Asymptote ?

Message non lu par francois »

En fait, comme je l'ai déjà dit, je suis un inconditionnel de pstricks. J'apprécie énormément le fait d'avoir un seul fichier source. Mais en 3D, pstricks est très moyen je trouve.

C'est pourquoi je suis intéressé par TeXgraph et Asymptote, mais il faut que je sois honnête je ne connais quasiment rien sur l'un et l'autre. Et comme je suis assez méticuleux, si me lance dans l'un des deux, ça me prendra beaucoup de temps. D'où ma question volontairement sans nuance :

C'est qui le plus fort : TeXgraph ou Asymptote ?
[C'est qui le plus fort : l’hippopotame ou l’éléphant ? :lol: ]

Bon, je sais ça dépend de mes aspirations. Disons plus précisément : quels sont les avantages et inconvénients de l’un et l’autre ?
MB
Administrateur
Administrateur
Messages : 8058
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant
Contact :

Re: TeXgraph ou Asymptote ?

Message non lu par MB »

Je ne vais pas répondre à ta question initiale bien sûr. (je découvre à peine Asymptote) :P
Par contre :
francois a écrit :En fait, comme je l'ai déjà dit, je suis un inconditionnel de pstricks. J'apprécie énormément le fait d'avoir un seul fichier source.
Il est tout à fait possible d'intégrer le code Asymptote directement dans le fichier tex comme on peut le faire avec pstricks. Je n'utilise pas cette fonctionnalité mais c'est possible. Tu peux voir d'ailleurs ici une traduction française par OG d'une documentation détaillant cette fonctionnalité.
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
rebouxo
Modérateur honoraire
Modérateur honoraire
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre
Contact :

Message non lu par rebouxo »

Et ça marche très bien, même si cela ralentit la compilation et que les erreurs sont à pécher dans le log (et pas explicites du tout).

Pour la 3D, c'est actuellement ce que je préfère. J'ai essayé TeXgraph, avec l'export pstricks et, je suis pas convaincu par le procédé. J'aime bien que tout soit dans le même fichier...

Je débute en Asymptote (24 h de pratique) mais cela m'intéresse. Mais alors la doc elle est pourrie. Et les exemples de Ph. Ivaldi manquent de commentaires. Bref, la il y a du boulot.

Olivier
francois
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 856
Inscription : jeudi 21 septembre 2006, 00:14
Localisation : Antony
Contact :

Message non lu par francois »

Arrêtez moi si je me trompe.

1) Il y a moyen d'utiliser Asymptote directement dans le fichier source au moyen d'un environnement du style \begin{asy} ... \end{asy}. Mais pour les messages d'erreurs c'est pas le top.

2) Tandis qu'avec TeXgraph, on fait une figure via un fichier .teg. Puis, on peut l'importer dans le fichier source via un eps ou je ne sais quel format. J'ai cru comprendre qu'on pouvait le convertir en pstricks. Mais alors je suppose que le code devient peu intelligible (un amas de \psline)

Question : il m'a semblé que les codes en "TeXgraph" étaient moins longs que ceux en "Asymptote" (à figure égale bien sûr). Me trompe je ?
MB
Administrateur
Administrateur
Messages : 8058
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant
Contact :

Message non lu par MB »

1) Oui, c'est bien ça.

2) Je pense que tu as raison mais P.Fradin te répondra mieux que moi lorsqu'il passera par ici.
francois a écrit :Question : il m'a semblé que les codes en "TeXgraph" étaient moins longs que ceux en "Asymptote" (à figure égale bien sûr). Me trompe je ?
Oui, je crois que tu as raison sur ce point.

Par exemple, pour les deux cylindres superposés : 14 lignes de codes avec TeXGraph et 22 avec Asymptote. Après, je ne cherche pas non plus à réduire au maximum le nombre de lignes de code pour Asymptote. On peut clairement réduire ce nombre pour un résultat identique.
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
rebouxo
Modérateur honoraire
Modérateur honoraire
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre
Contact :

Message non lu par rebouxo »

La longueur en ligne d'un code n'est pas très pertinente comme indication. La lisibilité me paraît plus importante. Et la facilité de mémorisation...

Olivier
francois
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 856
Inscription : jeudi 21 septembre 2006, 00:14
Localisation : Antony
Contact :

Message non lu par francois »

rebouxo a écrit :La longueur en ligne d'un code n'est pas très pertinente comme indication. La lisibilité me paraît plus importante. Et la facilité de mémorisation...
En effet et sur ce point Asymptote est-il satisfaisant ?
rebouxo
Modérateur honoraire
Modérateur honoraire
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre
Contact :

Message non lu par rebouxo »

Heu pour l'instant, non !

Autant j'ai trouvé les solides assez simples (modulo le problème de remplissage...) autant le code pour faire le graphe d'une fonction avec quadrillage, et avec les bonnes dimensions ne me semble pas très simple à faire.

Olivier
MB
Administrateur
Administrateur
Messages : 8058
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant
Contact :

Message non lu par MB »

rebouxo a écrit :Heu pour l'instant, non !
Moi je trouve que oui.
Bien plus que Tikz par exemple. :D
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
P.Fradin

Message non lu par P.Fradin »

MB a écrit :
francois a écrit :Question : il m'a semblé que les codes en "TeXgraph" étaient moins longs que ceux en "Asymptote" (à figure égale bien sûr). Me trompe je ?
Oui, je crois que tu as raison sur ce point.

Par exemple, pour les deux cylindres superposés : 14 lignes de codes avec TeXGraph et 22 avec Asymptote. Après, je ne cherche pas non plus à réduire au maximum le nombre de lignes de code pour Asymptote. On peut clairement réduire ce nombre pour un résultat identique.
Ne connaissant pas vraiment asymptote, je me garderai bien de répondre à la question initiale. Il y a néamoins un point de départ commun: composer un graphique à partir d'un source. Parmi les divergences:

1) L'ambition du projet:

-L'ambition initiale de TeXgraph était très simpliste: tracer des axes et des courbes en 2 ou 3 clics et exporter, et surtout voir le graphique (ou un brouillon) pendant sa conception. Ce qui permet l'utilisation de la souris.

-Par contre je pense que les concepteurs d'asymptote visent très loin, de plus plusieurs personnes travaillent à ce projet. Mais on ne voit pas l'image se construire, et c'est dommage car aujourd'hui on a les moyens de le faire, et cela ouvrirait d'autres horizons comme l'utilisation de la souris dans la conception du graphique. Mais je crois que c'est plus une question de principe qu'autre chose.

2) Le mode de programmation:

- programmation classique dans asymptote

- programmation fonctionnelle (par listes) dans TeXgraph, et là à mon avis c'est le point fort. C'est ce qui fait que parfois le code peut être très court. Il n'y a pas de différence dans texgraph entre: traiter un réel, traiter un complexe, traiter une liste de points. On peut par exemple programmer du calcul matriciel dans TeXgraph (une matrice=une liste), on peut dériver une liste (donc dériver dans R, dans C, ou dans l'espace)...
francois
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 856
Inscription : jeudi 21 septembre 2006, 00:14
Localisation : Antony
Contact :

Message non lu par francois »

Merci pour ces précisions.

Me voilà bien avancé !

Vu de loin, voici mon sentiment.

J'ai l'impression d'une meilleure finition et facilité du coté de TeXgraph, MAIS je crois comprendre à travers tes propos qu'Asymptote est promu à un bel avenir parce qu'ils sont plusieurs sur le projet, alors que toi tu es tout seul.

Tous les avis m'intéressent.
P.Fradin

Message non lu par P.Fradin »

francois a écrit : J'ai l'impression d'une meilleure finition et facilité du coté de TeXgraph,
Disons que certaines choses sont vraiment faciles à faire avec TeXgraph. La notion de liste simplifie parfois beaucoup la programmation. Par exemple: supposons que tu aies un polygone appelé P1 et tu as envie de dessiner son translaté par le vecteur d'affixe u, alors c'est la commande:

Ligne (for z in Get(P1) do z+u od, 1)

"Get(P1)" renvoie la liste des points de P1, "for z in" permet de balayer les points de cette liste un par un avec la variable z, chacun d'eux est translaté (z+u), l'instruction for renvoie la liste des résultats, cette liste est dessinée par l'instruction Ligne (qui sera fermée à cause du paramètre 1).

Malheureusement, au départ je n'ai prévu que les liste de complexes (manque d'ambition sans doute). Il aurait fallu aussi prévoir les listes de chaines de caractères et même les listes de complexes et chaines mélangés. Je finirais bien par ajouter cela, mais ça demande du boulot...
MAIS je crois comprendre à travers tes propos qu'Asymptote est promu à un bel avenir parce qu'ils sont plusieurs sur le projet, alors que toi tu es tout seul.
Tous les avis m'intéressent.
J'ai dit ça car au départ le défi que c'était fixé les concepteurs d'asymptote était (je crois) de remplacer metapost (ce qui était très loin d'être mon cas!) et même de le dépasser.
Maintenant, tout ce que je peux te dire, c'est d'essayer les deux, de persévérer un certain temps, et puis voir alors ce que tu en penses.
rebouxo
Modérateur honoraire
Modérateur honoraire
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre
Contact :

Message non lu par rebouxo »

Il y a un GUI pour asymptote mais qui ne tourne que sous Linux.

Olivier
francois
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 856
Inscription : jeudi 21 septembre 2006, 00:14
Localisation : Antony
Contact :

Message non lu par francois »

1) C'est marrant le "for z in ... do ... od" me fait penser à du Maple.

2) C'est quoi un GUI ?

Bon sinon effectivement le mieux c'est faire soi-même un essai. J'attendrais les vacances qui arrivent bientôt d'ailleurs. Mais, j'aime bien avoir une petite idée avant.

Merci encore. Pour vos réponses.
MB
Administrateur
Administrateur
Messages : 8058
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant
Contact :

Message non lu par MB »

francois a écrit :2) C'est quoi un GUI ?
Une interface graphique. :wink:
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
Ph. Ivaldi

Message non lu par Ph. Ivaldi »

P.Fradin a écrit : Par exemple: supposons que tu aies un polygone appelé P1 et tu as envie de dessiner son translaté par le vecteur d'affixe u, alors c'est la commande:

Ligne (for z in Get(P1) do z+u od, 1)
En Asymptote :

Code : Tout sélectionner

shift(u)*P1;
Ce que j'aime dans "Asymptote" est sa lisibilité et sa syntaxe standard (proche du basic); bon j'aime aussi le Lisp pour des raisons contraires. :-)
C'est un véritable langage de programmation moderne (orienté objet en plus), ce qui n'est pas le cas des "LaTeX like" ou de Metapost.

D'autres avantages:
* on peut passer en paramètre n'importe quel type de données (une fonction aussi complexe soit elle, par exemple) sans se poser de question métaphysique (oui je pense à LaTeX avec ses \expandafter, \begingroup et autres commandes robustes ou pas);
* le nombre de paramètres peut être indéfini (Metapost le fait tellement difficilement que personne ne l'utilise);
* on peut définir facilement de nouveaux types d'objet et utiliser le "casting"; c'est plus que puissant.
Voici un exemple ultra simple qui n'a pas d'autre intérêt que celui d'être un exemple puisque la fonction 'expi()' existe nativement.

Code : Tout sélectionner

struct rpair {
  real radius;
  real angle;
}

rpair polar(real radius, real angle)
{
  rpair or;
  or.radius=radius;
  or.angle=angle;
  return or;
}

pair operator cast(rpair x) {
  return (x.radius*cos(x.angle),x.radius*sin(x.angle));
}

rpair x=polar(2,pi/4);
et on peut utiliser 'x' comme un 'pair' classique.
Si l'on veut voir et comprendre un exemple un peu plus complexe mais expliqué en détail, c'est par ici:
http://piprim.tuxfamily.org/asymptote/a ... ml#fig0003

Je pense que "Asymptote" est le plus puissant langage de sa catégorie mais je trouve quand même TeXGraph très intéressant, au moins pour son côté WYSIWYG donc sa facilité d'apprentissage dans un premier temps.

Le défi que doit relever l'équipe de "Asymptote" est la 3D (les bases sont déjà pas mal mais il manque entre autre les intersections et les faces cachées de/entre solides quelconques); tout ce jouera là-dessus...

Au fait, si OG passe par là, où en sont les surfaces de Bézier ?
francois
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 856
Inscription : jeudi 21 septembre 2006, 00:14
Localisation : Antony
Contact :

Message non lu par francois »

Très intéressant.

En fait les deux ont vraiment l'air sympatoches.

Mais je suis d'accord avec Rebouxo la doc d'Asymptote n'est pas évidente. Celle de TeXgraph donne plus envie. Mais bon, n'y voyez pas de reproche, mais plutôt une remarque constructive.

J'en profite d'ailleurs pour vous féliciter vous les concepteurs de Asymptote comme ceux de TeXgraph. Parce que faire tout ce travail, toutes ces compétences cela m'impressionne beacoup et en plus mis au service des autres !

Je reviens au sujet initial.

Rebouxo disait que le tracé d'une brave courbe en 2D avec Asymptote lui semblait assez compliqué. Qu'en est-il exactement ?
rebouxo
Modérateur honoraire
Modérateur honoraire
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre
Contact :

Message non lu par rebouxo »

Je modère : c'est certainement assez facile, mais je veux
-- un quadrillage (5 mm sur 5 mm) ;
-- des dimensions précises (pour l'instant les labels sont pris en compte, ce qui n'est guère pratique). Je ne suis pas arrivé à faire un quadrillage, avec des abscisses qui varie entre 0 et 0,01, des ordonnées entre 0 et 1. Et cela avec une longueur des axes de 10 cm. Cela dit en pstricks, non plus car LaTeX bloque les dimensions trop grande !
Donc, hier j'en ai eu marre.

Si je puis me permettre, la doc manque d'exemples simples et commentées.
Des exemples très simples, ou l'on montre une commande. Les exemples de la doc sont rapidement très (trop) compliqués. Cela manque de progressivité.

Si je puis me permettre, sur le site de Ph. Ivaldi, les exemples sont plus progressifs, mais cela manque parfois un peu d'explication.

Bon, je suis bien exigeant, mais Asymptote est suffisamment complexe pour que l'on fasse attention au débutant.

Cela dit, je suis comme François assez admiratif du travail tant sur TeXgraph que sur Asymptote. Qui n'ont pas dans le domaine de la 3D d'équivalent. Asymptote est vraiment impressionnant de facilité, avec une ergonomie qui me convient mieux que celle de TeXgraph (désolé M. Fradin).
Olivier
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2804
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Message non lu par gigiair »

rebouxo a écrit : Cela dit, je suis comme François assez admiratif du travail tant sur TeXgraph que sur Asymptote. Qui n'ont pas dans le domaine de la 3D d'équivalent.
Je ne connais pratiquement pas TeXgraph ni Asymptote, mais cette remarque me paraît trop massive pour être vraie. Regardez le cube que j'ai réalisé sous TikZ. Il y a ma signature écrite sur l'une des faces.
Image

Je trouve que tikz a aussi des possibliltés intéressantes en 3D
JJR.
LaTeXien migrateur.
P.Fradin

Message non lu par P.Fradin »

gigiair a écrit : Je trouve que tikz a aussi des possibliltés intéressantes en 3D
Cela ne fait aucun doute.
Il existe aussi des logiciels très puissant pour la 3D, je pense entre autres à povray qui donne des résultats impressionnants.
Voici un exemple (c'est pas des maths, mais quand même):
Pièces jointes
cuisine.jpg
(30.14 Kio) Téléchargé 437 fois
Répondre