Page 1 sur 1

cast de path en path3

Posté : jeu. 18 mars 2010, 09:38
par mumblee
Bonjour,

Dans la doc officielle, on peut lire :
Module three provides constructors for converting two-dimensional paths to three-dimensional ones, and vice-versa:
path3 path3(path p, triple plane(pair)=XYplane);
path path(path3 p, pair P(triple)=xypart);

J'ai essayé et, évidemment, ça marche, avec XYplane, YZplane ou ZXplane, mais pas avec XZplane par exemple. J'ai cherché dans three.asy et je n'ai pas trouvé trace de ces mots clés ni de ces fonctions. Où sont-elles définies ?

Merci.

Re: cast de path en path3

Posté : jeu. 18 mars 2010, 09:45
par OG
Dans three.asy

Code : Tout sélectionner

triple XYplane(pair z) {return (z.x,z.y,0);}
triple YZplane(pair z) {return (0,z.x,z.y);}
triple ZXplane(pair z) {return (z.y,0,z.x);}


O.G.

Re: cast de path en path3

Posté : jeu. 18 mars 2010, 17:18
par mumblee
Bon, je ne suis pas bigleux, mais je ne suis pas doué.

Dans /usr/share/asymptote/three.asy, il n'y a rien, d'où mon précédent message !

Code : Tout sélectionner

fabrice@arwen:/usr/share/asymptote$ grep XYplane three.asy 
fabrice@arwen:/usr/share/asymptote$

En revanche, c'est dans les sources :

Code : Tout sélectionner

fabrice@arwen:~/Programmes/Asymptote/asymptote-1.91/base$ grep XYplane three.asy 
triple XYplane(pair z) {return (z.x,z.y,0);}
path3 path3(path p, triple plane(pair)=XYplane)
path3[] path3(explicit path[] g, triple plane(pair)=XYplane)
fabrice@arwen:~/Programmes/Asymptote/asymptote-1.91/base$

Par curiosité, les experts peuvent-ils me dire s'il y en a beaucoup des machins comme ça qui sont présents dans les sources mais qui disparaissent à l'installation ?

PS : il me semble que j'avais lu quelque part que le code relatif aux path3 avait été passé en C++, mais je ne retrouve plus la trace de cette information.

Re: cast de path en path3

Posté : jeu. 18 mars 2010, 18:12
par OG
Cher Fabrice

Tu n'aurais pas une vieille version qui traîne ?
Tu as l'air d'être sous Linux. Chez moi, ./configure+make+make install
m'installe asymptote dans /usr/local, pas /usr (sauf si tu as demandé
une installation dans /usr, ce qui n'est pas conseillé). J'ai bien three.asy
dans /usr/local/share/asymptote qui contient XYplane.
Je viens de vérifier le binaire sur le site d'Asymptote, celui-ci
s'installe aussi dans /usr/local et /usr/local/share/asymptote contient
un three.asy avec XYplane ?

Il faudrait peut-être vérifier ton installation, que donne asy -vv unexemple3D.asy
pour savoir où sont pris les *.asy ?

O.G.

Re: cast de path en path3

Posté : ven. 19 mars 2010, 09:03
par mumblee
OG a écrit :Tu n'aurais pas une vieille version qui traîne ?

Ah non alors ! J'ai compilé la 1.91 il n'y a pas longtemps.

Tu as l'air d'être sous Linux. Chez moi, ./configure+make+make install
m'installe asymptote dans /usr/local, pas /usr (sauf si tu as demandé
une installation dans /usr, ce qui n'est pas conseillé).

Oui, Debian Lenny avec un zest de squeeze. Ah, tu as raison, j'ai une 1.43 qui traînait :oops:
Je ne m'en étais pas rendu compte car les binaires de /usr/local/bin/ étant appelés avant les autres, j'avais le comportement suivant

Code : Tout sélectionner

fabrice@arwen:~$ asy -version
Asymptote version 1.91 [(C) 2004 Andy Hammerlindl, John C. Bowman, Tom Prince]
fabrice@arwen:~$ which asy
/usr/local/bin/asy


J'ai bien three.asy
dans /usr/local/share/asymptote qui contient XYplane.
Je viens de vérifier le binaire sur le site d'Asymptote, celui-ci
s'installe aussi dans /usr/local et /usr/local/share/asymptote contient
un three.asy avec XYplane ?

Ah oui, ça va mieux en cherchant au bon endroit :)

Code : Tout sélectionner

fabrice@arwen:~$ grep XYplane /usr/local/share/asymptote/three.asy 
triple XYplane(pair z) {return (z.x,z.y,0);}
path3 path3(path p, triple plane(pair)=XYplane)
path3[] path3(explicit path[] g, triple plane(pair)=XYplane)

Installation rectifiée, merci de ton aide !