Exemple en 3d, problème de compilation

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.
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

francois a écrit :Je viens de voir ton pdf en pièce jointe et figure toi que chez moi il est tout pixelisé et pas très beau ! Celui que j'obtiens avec asy -f pdf -render 0 -noprc test2.asy est nettement plus beau. Je précise encore une fois que je n'ai pas Adobe Reader (je suis sous Debian Squeeze) et je me contente largement de Evince. Tiens, je mets mon pdf tout beau à moi en PJ :
test2.pdf
Chez toi, comment le vois-tu ? Tout pixelisé ou non ?
Tu me croiras pas si je te dis que des deux liens précédents, chez moi, c'est le mien qui est mieux : c'est quasiment identique pour le dessin mais c'est mieux pour les écritures.
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

francois a écrit :GMaths, j'ai testé ton exemple et la seule commande qui me donne quelque chose de convenable est encore asy -f pdf -render 0 -noprc test2.asy. La compilation prend 1 seconde et le rendu est impeccable. Le fichier fait 79,4 Kio. C'est bon tout ça, non ?
Bein non... et je vais te trouver un exemple pour te montrer la limitation de la compilation avec render=0.
francois a écrit :Dans la commande ci-dessus, si j'enlève -noprc, j'ai encore mes messages d'erreur
Il va falloir que l'on rentre dans les détails de ton installation... avant d'envisager que ghostscript ait un problème d'installation ou d'incompatibilité avec je ne sais quoi.

- Si tu ajoutes -vvv qu'as-tu comme log de compilation ?
- Dans ton home, tu as un dossier .asy ? Un fichier config.asy dedans ? Si oui que contient-il ?
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

En ajoutant en plus -k, les fichiers temporaires ne seront pas effacés... et on pourra comparer ce que tu obtiens chez toi par rapport à ce que l'on obtient nous.

Code : Tout sélectionner

asy -f pdf -render 4 -vv -k test.asy
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

GMaths a écrit :
francois a écrit :GMaths, j'ai testé ton exemple et la seule commande qui me donne quelque chose de convenable est encore asy -f pdf -render 0 -noprc test2.asy. La compilation prend 1 seconde et le rendu est impeccable. Le fichier fait 79,4 Kio. C'est bon tout ça, non ?
Bein non... et je vais te trouver un exemple pour te montrer la limitation de la compilation avec render=0.
Il te suffit de tester cet exemple du haut de la page... et tu verras ce que devient le plan vis à vis de la sphère.
Tu auras le même problème que ce que l'on a avec de telles figures 3D compilées directement sur le forum :
67494c6eaed194e6485a95c58c5109fb44500731.png
au lieu de cela :

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

Re: Exemple en 3d, problème de compilation

Message non lu par francois »

GMaths a écrit :Bein non... et je vais te trouver un exemple pour te montrer la limitation de la compilation avec render=0.
1) Que signifie l'option "-render 0" ?

2) Supposons que je n'ai pas besoin d'avoir des pdf qui contiennent des images que je peux bouger avec la souris, est-ce que dans ce cas l'option "-prc" devient totalement inutile ?
GMaths a écrit :

Code : Tout sélectionner

asy -f pdf -render 4 -vv -k test.asy
J'ai tapé très exactement ça :

Code : Tout sélectionner

asy -f pdf -render 4 -vv -k test2.asy > sortie_std.txt 2> sortie_error.txt
Comme ça tu as tous les messages possibles. En PJ, je mets le dossier complet :
test2.zip
(1.81 Mio) Téléchargé 361 fois
François Lafont
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

francois a écrit :Tu sembles indiquer que l'option -prc est indispensable parfois, mais peux-tu préciser ? Je n'y connais rien, mais -prc semble être un truc made in Adobe, non ? Moi je n'ai même pas Adobe Reader sur mon système. Donc es-tu sûr que ça m'est vraiment indispensable par moment ? En fait, je ne sais pas trop comment me situer car Maurice, lui, indique que ce n'est pas indispensable. Du coup, j'ai une question simple : est-ce que je dois considérer qu'il y a un problème avec mon installation ou bien Adobe Reader ne faisant même pas partie de mon système, tout cela est normal ?
On peut s'en passer... mais si tu trouvais cool l'idée de pouvoir tourner la figure avec opengl, sache qu'avec le couple prc/adobe reader, cela peut être cool aussi de faire tourner tes figures 3d dans un pdf pour montrer par exemple à des élèves.
francois a écrit :Finalement tout ça n'est-il pas une histoire de pdf viewer ? Un truc du genre :
- si on a Adobe Reader, alors on utilise -prc et on peut bénéficier de truc en plus propre à Adobe Reader
- si on n'a pas Adobe Reader, alors -prc est inutile, voire dans mon cas nuisible (car avec cette option je n'ai jamais réussi à obtenir un pdf avec une image dedans).
C'est plutôt une histoire de "besoin ou pas de faire tourner les figures". Si tu n'as besoin que d'images statiques, tu n'auras pas besoin du format prc.
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

francois a écrit :
GMaths a écrit :Bein non... et je vais te trouver un exemple pour te montrer la limitation de la compilation avec render=0.
1) Que signifie l'option "-render 0" ?
Dans la page que je t'ai déjà indiquée.... avec les 4 utilisations, tu auras lu, a propos de render :
  1. ...
  2. Render the scene to a specified rasterized format outformat at the resolution of n pixels per bp, as specified by the setting render=n. A negative value of n is interpreted as |2n| for EPS and PDF formats and |n| for other formats. The default value of render is -1. By default, the scene is internally rendered at twice the specified resolution; this can be disabled by setting antialias=1. High resolution rendering is done by tiling the image. If your graphics card allows it, the rendering can be made more efficient by increasing the maximum tile size maxtile beyond the screen dimensions (indicated by maxtile=(0,0). If your video card generates unwanted black stripes in the output, try setting the horizontal and vertical components of maxtiles to something less than your screen dimensions. The tile size is also limited by the setting maxviewport, which restricts the maximum width and height of the viewport. On UNIX systems some graphics drivers support batch mode (-noV) rendering in an iconified window; this can be enabled with the setting iconify=true. Some (broken) UNIX graphics drivers may require the command line setting -glOptions=-indirect, which requests (slower) indirect rendering.
  3. ...
  4. Project the scene to a two-dimensional vector (EPS or PDF) format with render=0. Only limited hidden surface removal facilities are currently available with this approach (see PostScript3D).
Donc il est mentionné une limitation pour l'utilisation 4 qui correspond à render=0.
francois
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 856
Inscription : jeudi 21 septembre 2006, 00:14
Localisation : Antony

Re: Exemple en 3d, problème de compilation

Message non lu par francois »

Ok, prc est une « Adoberie » dont je pourrai me passer. Avec l'option '-V' (OpenGL) ça marche impeccable ça me suffira pour faire tourner les figures (entre nous dans 99% des cas mes figures sont en 2D).

Par contre le coup du 'render' est plus ennuyeux car avec ton exemple de la sphère et avec 'render=0', j'obtiens une figure fausse (comme tu l'expliques dans ton message) et sans l'option render j'obtiens quelque chose de juste, mais de très pixelisé. En revanche, avec 'render=8' par exemple j'obtiens un truc très correct.
François Lafont
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

francois a écrit :En revanche, avec 'render=8' par exemple j'obtiens un truc très correct.
Je ne dépasse jamais render=4 personnellement... et la plupart du temps, cela me semble très bien...
... mais comme nos deux exemples identiques ne nous donnent pas le même rendu apparemment, tout cela devient bizarrement relatif.
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

francois a écrit :Avec l'option '-V' (OpenGL) ça marche impeccable ça me suffira pour faire tourner les figures
... l'important de cette option, étant de permettre de tourner pour choisir un angle de vue... et de demander les réglages de la caméra (via le menu accessible par double clic droit), pour les récupérer dans la console et les coller dans le script pour obtenir l'angle de vue souhaité à la compilation suivante.
francois
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 856
Inscription : jeudi 21 septembre 2006, 00:14
Localisation : Antony

Re: Exemple en 3d, problème de compilation

Message non lu par francois »

J'ai oublié de te répondre sur un point : je n'ai aucun fichier de la forme *.asy à la racine de mon home.
François Lafont
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

Je suis occupé de regarder tes fichiers mais je crois que je ne vais pas avoir l'explication ce soir.

En plus je suis sous windows avec miktex... donc il sera peut-être plus facile, demain, à des utilisateurs de linux+texlive de compiler dans les mêmes conditions que toi et de comparer.
francois a écrit :J'ai oublié de te répondre sur un point : je n'ai aucun fichier de la forme *.asy à la racine de mon home.
Dans un dossier .asy, à la racine de ton home, c'est là que tu pourras mettre des fichiers d'extensions personnels.
C'est aussi dans ce dossier, que l'on peut mettre un fichier config.asy, pour y spécifier des options par défaut ou des chemins vers les applications utiles pour asymptote. Mais apparemment, tout est trouvé dans ton cas.

A propos des options, par exemple, pour spécifier que l'on veut du pdf, on peut l'indiquer à trois endroits :
- tu connais déjà la possibilité : -f pdf, dans la ligne de commande
- mais il y a aussi les deux possibilités, dans config.asy, ou en début de ton script, de mettre : settings.outformat="pdf";

Il y a les adeptes de la compilation avec la commande simple : asy, qui mettent leurs options dans le script même, au début,
et il y a ceux qui préfèrent mettre leurs options de compilation dans la ligne de commande.
config.asy... c'est uniquement pour des options que l'on est sûr de vouloir systématiquement.
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

un nouveau test : essayer ceci :

Code : Tout sélectionner

asy -tex pdflatex -f pdf -render 4 -vv -k test2.asy
francois
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 856
Inscription : jeudi 21 septembre 2006, 00:14
Localisation : Antony

Re: Exemple en 3d, problème de compilation

Message non lu par francois »

GMaths a écrit :Je suis occupé de regarder tes fichiers mais je crois que je ne vais pas avoir l'explication ce soir.
Oh mais ce n'est pas grave, ton aide a déjà été largement suffisante et tu n'as absolument aucune obligation de résultat. Quelle que soit l'issue de fil, je te remercie sincèrement pour toute l'aide déjà apportée.
GMaths a écrit :Dans un dossier .asy, à la racine de ton home, c'est là que tu pourras mettre des fichiers d'extensions personnels.
C'est aussi dans ce dossier, que l'on peut mettre un fichier config.asy, pour y spécifier des options par défaut ou des chemins vers les applications utiles pour asymptote. Mais apparemment, tout est trouvé dans ton cas.
Oui, en effet j'ai un dossier .asy dans mon home mais il ne contient qu'un fichier history, c'est tout.
GMaths a écrit :Dans un dossier .asy, à la racine de ton home, c'est là que tu pourras mettre des fichiers d'extensions personnels.
C'est aussi dans ce dossier, que l'on peut mettre un fichier config.asy, pour y spécifier des options par défaut ou des chemins vers les applications utiles pour asymptote. Mais apparemment, tout est trouvé dans ton cas.

A propos des options, par exemple, pour spécifier que l'on veut du pdf, on peut l'indiquer à trois endroits :
- tu connais déjà la possibilité : -f pdf, dans la ligne de commande
- mais il y a aussi les deux possibilités, dans config.asy, ou en début de ton script, de mettre : settings.outformat="pdf";

Il y a les adeptes de la compilation avec la commande simple : asy, qui mettent leurs options dans le script même, au début,
et il y a ceux qui préfèrent mettre leurs options de compilation dans la ligne de commande.
config.asy... c'est uniquement pour des options que l'on est sûr de vouloir systématiquement.
Merci pour toutes ces infos. Je crois que je vais être un adepte supplémentaire de la « simple compilation » et ajouter les options dans le source. En effet, comme ça je me fais un raccourci de compilation sur mon éditeur (Texmaker pour moi) juste avec la commande asy et j'adapterai le source.
GMaths a écrit :un nouveau test : essayer ceci :

Code : Tout sélectionner

asy -tex pdflatex -f pdf -render 4 -vv -k test2.asy
Alors dans ce cas j'arrive à avoir un pdf et c'est un progrès car sans l'option '-noprc' ne n'avais jamais réussi jusque là. Par contre, c'est encore pixelisé. Voici le dossier complet avec à nouveau la sortie standard et la sortie des erreurs :
test2.zip
(2.88 Mio) Téléchargé 370 fois
François Lafont
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

francois a écrit :
GMaths a écrit :un nouveau test : essayer ceci :

Code : Tout sélectionner

asy -tex pdflatex -f pdf -render 4 -vv -k test2.asy
Alors dans ce cas j'arrive à avoir un pdf et c'est un progrès car sans l'option '-noprc' ne n'avais jamais réussi jusque là. Par contre, c'est encore pixelisé. Voici le dossier complet avec à nouveau la sortie standard et la sortie des erreurs :
test2.zip
Ok, là cela fonctionne : toi tu vois l'image dans le pdf... et moi j'ai pu tester qu'en cliquant dessus, on sait animer la figure.
Installe acroread pour tester au moins une fois ! ;-)

Cela aura un deuxième intérêt : peut-être celui de te rendre compte que tu auras peut-être nettement moins l'impression de l'image pixelisée.

Les autres utilisateurs de linux ne manqueront pas de te dire ce qu'ils utilisent comme pdfviewer... et s'ils ont la même impression que toi.

Il faudra voir aussi ce que cela donne en imprimant.

----

Bon j'arrête là pour ce soir.
@+
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

Pour revenir au problème d'hier... cela fonctionne maintenant correctement en spécifiant d'utiliser pdflatex, mais ce serait bien que cela fonctionne aussi avec latex.

Peux-tu fournir tous les fichiers produits avec cette compilation :

Code : Tout sélectionner

asy -f pdf -render 4 -vvv -k test2.asy
à noter que j'ai ajouté un v !

Je cite la doc à ce propos :
-v Display top-level module and final output file names.
-vv Also display imported and included module names and final LaTeX and dvips processing information.
-vvv Also output LaTeX bidirectional pipe diagnostics.
-vvvv Also output knot guide solver diagnostics.
-vvvvv Also output Asymptote traceback diagnostics.
Francky
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 681
Inscription : dimanche 11 avril 2010, 14:01

Re: Exemple en 3d, problème de compilation

Message non lu par Francky »

Sous linux,
test2.pdf est un peu pixelisé avec evince (mon lecteur pdf), on le voit avec un zoom à 800%.
test2.pdf s'affiche avec acrobat, mais plante lors de l'activation.
Voilà pour linux.

EDIT : Voici la sortie si j'essaye de compiler test2.asy, j'obtiens une page blanche.

Code : Tout sélectionner

Terminé.

** (evince:3108): WARNING **: Unimplemented annotation: POPPLER_ANNOT_3D, please post a bug report in Evince bugzilla (http://bugzilla.gnome.org) with a testcase.

** (evince:3108): WARNING **: Unimplemented annotation: POPPLER_ANNOT_3D, please post a bug report in Evince bugzilla (http://bugzilla.gnome.org) with a testcase.
Linux Mint | TeXLive - TexMaker - asymptote | Python3 & C - Geany - Project Euler - SPOJ
Entia non sunt multiplicanda praeter necessitatem
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

GMaths a écrit :Pour revenir au problème d'hier... cela fonctionne maintenant correctement en spécifiant d'utiliser pdflatex, mais ce serait bien que cela fonctionne aussi avec latex.

Peux-tu fournir tous les fichiers produits avec cette compilation :

Code : Tout sélectionner

asy -f pdf -render 4 -vvv -k test2.asy
à noter que j'ai ajouté un v !

Je cite la doc à ce propos :
-v Display top-level module and final output file names.
-vv Also display imported and included module names and final LaTeX and dvips processing information.
-vvv Also output LaTeX bidirectional pipe diagnostics.
-vvvv Also output knot guide solver diagnostics.
-vvvvv Also output Asymptote traceback diagnostics.
Si tu préfères mettre les options de compilation en début de fichier et simplement compiler avec asy, voilà ce qu'il faut ajouter en début de script :

Code : Tout sélectionner

settings.outformat="pdf";
//settings.tex="pdflatex";
settings.render=4;
settings.keep=true;
settings.verbose=3;

import graph3;
import contour;
size(10cm,0);
size3(10cm,IgnoreAspect);

real f(pair z) {
  return 2z.x^2-z.x+z.y^2;
}
real[] lignesniveaux={50,100,150,200,250};

currentprojection=orthographic(-25,-25,600);
limits((0,0,0),(10,10,300));

xaxis3(Label("$x$",position=MidPoint,align=SE),
       OutTicks(Step=2));
yaxis3(Label("$y$",position=MidPoint,align=SW),
       OutTicks(Step=2));
zaxis3(Label("$z=2x^2-x+y^2$",position=EndPoint,align=3N+E),
       Bounds(Min,Max),
       InTicks(Step=100,Label(align=Y)));

draw(surface(f,(0,0),(10,10),nx=10,Spline),
     lightgray,meshpen=black+thick(),nolight);

Label [] L=sequence(new Label(int i) {
    return scale(0.75)*Label(format("$z=%g$",lignesniveaux[i]),
                              align=E,EndPoint);
    },5);
draw(L,lift(f,contour(f,(0,0),(10,10),lignesniveaux)),1bp+red);
------------------------

@Francky : merci de participer à la conversation... même si, ce n'est pas pour nous rassurer, en précisant de nouveaux problèmes sous linux. :lol:

Finalement, je suis bien content avec mon windows ! :mrgreen:
Francky
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 681
Inscription : dimanche 11 avril 2010, 14:01

Re: Exemple en 3d, problème de compilation

Message non lu par Francky »

@GM : Oui, mais tu es du côté obscur de la force [\fin troll]
Linux Mint | TeXLive - TexMaker - asymptote | Python3 & C - Geany - Project Euler - SPOJ
Entia non sunt multiplicanda praeter necessitatem
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Exemple en 3d, problème de compilation

Message non lu par GMaths »

Francky a écrit :@GM : Oui, mais tu es du côté obscur de la force [\fin troll]
Pas tout à fait...

Avec mon serveur sous ubuntu... et le couple virtualbox/mint10 sur mon pc de travail... je bronze de temps en temps. :mrgreen: