Page 4 sur 4

Re: [Asymptote] Questions sur le module geometry_dev

MessagePosté: Lundi 26 Novembre 2007, 12:01
par MB
J'ai remarqué un truc bizarre avec les commandes du type :

Code: Tout sélectionner
draw(line(pO,pA),dashed);


A certains endroit, les tirets sont plus longs. Voir la figure ci-jointe.
Je ne sais pas si c'est lié à la structure line, mais je pense que c'est possible.

linedashed1.jpg

Re: [Asymptote] Questions sur le module geometry_dev

MessagePosté: Lundi 26 Novembre 2007, 19:16
par guiguiche
On dirait qu'il manque l'espace entre 2 tirets. Ou alors, que c'est une juxtaposition de deux lignes de tirets (on est à peu près au milieu de la ligne à chaque fois).

Re: [Asymptote] Questions sur le module geometry_dev

MessagePosté: Mardi 27 Novembre 2007, 14:23
par OG
Bonjour

Je n'ai fait aucun test, mais que donne des lignes avec des tirets sans le paquet de Philippe ?
Pourrait-on avoir la source ?

Cordialement
O.G.

Re: [Asymptote] Questions sur le module geometry_dev

MessagePosté: Mardi 27 Novembre 2007, 18:36
par MB
OG a écrit:Je n'ai fait aucun test, mais que donne des lignes avec des tirets sans le paquet de Philippe ?


J'ai pas fait les tests sur cet exemple mais je n'avais jamais vu ça avant d'utiliser les objets de type line.
Je pense que ça vient de ça.

Peut être que la "doite" est tracée en deux morceaux (à partir du milieu) et que les deux morceaux collés font que deux tirets se rejoignent ... je ne sais pas. :D

OG a écrit:Pourrait-on avoir la source ?


Le voici :

Code: Tout sélectionner
unitsize(1cm);
import geometry_dev;

point pO = (0,-5);
point pA = (-3,0);
point pB = (-1.5,0);
point pC = (0.85,0);
point pD = (2.5,0);
point pE = (3.5,0);

draw(line(pO,pA),dashed);
draw(line(pO,pB),dashed);
draw(line(pO,pC),dashed);
draw(line(pO,pD),dashed);
draw(line(pO,pE),dashed);

dot(Label("$O$",align=1.5E),pO);
dot(Label("$A$",align=NE),pA);
dot(Label("$B$",align=NE),pB);
dot(Label(shift(0.6mm)*"$C$",align=NE),pC);
dot(Label("$D$",align=NW),pD);
dot(Label("$E$",align=NW),pE);

draw(Label("$(d)$",Relative(0),S),line(pA,pE));

addMargins(10mm,4mm,10mm,4mm);
shipout(bbox(xmargin=1mm,invisible));

Re: [Asymptote] Questions sur le module geometry_dev

MessagePosté: Mardi 27 Novembre 2007, 18:57
par Ph. Ivaldi
guiguiche a écrit:On dirait ... que c'est une juxtaposition de deux lignes de tirets .


Dans le mille !

En fait, comme je l'ai déjà dit dans un autre message, la routine qui trace des "droites" se débrouille (aurait dû se débrouiller) pour tracer en arrondi "l'extrémité de la partie supposée infinie" et en carré l'éventuelle extrémité de la partie finie.
Pour faire ça il faut couper "la droite" en deux et j'ai choisi le "milieu" en oubliant que ça se voit dans le cas d'un stylo en tiret.
Le problème est résolu dans la nouvelle version de geometry_dev et, pour le coup, cela résout aussi le problème avec dotted.
Merci à tous pour vos remarques.

Code: Tout sélectionner
import geometry_dev;
size(10cm,0);

line d=line(E,W); draw(d);
draw(line(S+W,false,S+E), 3mm+red);
point P=S, Q=S+E; dot(P^^Q);

for (int i=0; i < 4; ++i) {
  point Pp=curpoint(d,-1+i);
  dot(Pp);
  draw(line(P,Pp),dotted);
  draw(line(Q,Pp),dashed);
}
addMargins(1cm,1cm);

Re: [Asymptote] Questions sur le module geometry_dev

MessagePosté: Mardi 27 Novembre 2007, 19:04
par MB
Ph. Ivaldi a écrit:En fait, comme je l'ai déjà dit dans un autre message, la routine qui trace des "droites" se débrouille (aurait dû se débrouiller) pour tracer en arrondi "l'extrémité de la partie supposée infinie" et en carré l'éventuelle extrémité de la partie finie.


Ah oui, j'avais jamais remarqué ça !

Ph. Ivaldi a écrit:Le problème est résolu dans la nouvelle version de geometry_dev et, pour le coup, cela résout aussi le problème avec dotted.
Merci à tous pour vos remarques.


Bon bah c'est parfait alors. Merci à toi encore !