Questions sur le module geometry_dev

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar Ph. Ivaldi » Dimanche 14 Octobre 2007, 22:16

MB a écrit:Il semblerait que les Labels ne soient pas pris en compte dans la taille de la figure.


Exact, c'est de ma faute.
J'ai corrigé la routine en ajoutant l'option "allObject" qui vaut true par défaut.
Si "allObject" vaut false les objets de taille fixe comme les labels ou les têtes de flèches sont ignorés.

MB a écrit:
Ph. Ivaldi a écrit:Du coup, j'ai envie de supprimer finalbounds...


Bah ça je ne sais pas. Ca peut toujours être utile à certains. :D

Oui mais non :-) ça ressemble trop à une bidouille, je l'ai basculer dans le module perso base_pi.asy.
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

Publicité

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar MB » Dimanche 14 Octobre 2007, 22:30

Ph. Ivaldi a écrit:Exact, c'est de ma faute.
J'ai corrigé la routine en ajoutant l'option "allObject" qui vaut true par défaut.
Si "allObject" vaut false les objets de taille fixe comme les labels ou les têtes de flèches sont ignorés.


Bon bah c'est carrément parfait là alors. :mrgreen:
J'ai modifié cet exemple pour qu'il utilise la fonction addMargins.

Ph. Ivaldi a écrit:Oui mais non :-) ça ressemble trop à une bidouille, je l'ai basculer dans le module perso base_pi.asy.


Ok, je suis d'accord avec toi aussi.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar MB » Lundi 12 Novembre 2007, 18:18

Bon alors je continue mes essais et j'ai deux nouvelles questions :

1) La routine intersectionpoints remplace avantageusement la routine classique intersectionpoint (elle s'adapte aux objets de type line par exemple). Par contre, en général on peut se débrouiller pour qu'il n'y aie qu'un seul point d'intersection mais la structure retournée est toujours sous la forme point[] (même si il n'y a qu'un seul point). Si on veut stocker ça dans un point, on obtient :

Code: Tout sélectionner
cannot cast 'point[]' to 'point'


On doit donc utiliser intersectionpoints()[0] pour que ça fonctionne. C'est pas bien grave mais je me demandais si il était possible de rendre la chose automatique lorsqu'il n'y a qu'un seul point. :?:

2) Je teste la routine tremble. Comment faire pour tracer de cette façon un objet de type line ?
Si j'essaye j'obtiens :

Code: Tout sélectionner
cannot call 'path tremble(path g, real angle=<default>, real frequency=<default>, real random=<default>)'
with parameters '(line, real frequency, int random)'


Voilà pour ces deux nouvelles questions. :mrgreen:
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar MB » Lundi 12 Novembre 2007, 19:20

En fait, c'est cette figure que je voudrais passer en version "à main levée". :wink:
Mais je ne sais d'ailleurs pas si le résultat sera satisfaisant ou pas avec les marqueurs ... mais bon, c'est pour tester quoi ! :mrgreen:
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar Ph. Ivaldi » Lundi 12 Novembre 2007, 22:08

MB a écrit:1) La routine intersectionpoints remplace avantageusement la routine classique intersectionpoint (elle s'adapte aux objets de type line par exemple). Par contre, en général on peut se débrouiller pour qu'il n'y aie qu'un seul point d'intersection mais la structure retournée est toujours sous la forme point[] (même si il n'y a qu'un seul point). Si on veut stocker ça dans un point, on obtient :
Code: Tout sélectionner
cannot cast 'point[]' to 'point'

On doit donc utiliser intersectionpoints()[0] pour que ça fonctionne. C'est pas bien grave mais je me demandais si il était possible de rendre la chose automatique lorsqu'il n'y a qu'un seul point. :?:

Je ne suis pas sûr de comprendre...
Pour l'intersection de deux droites il y "intersectionpoint(line,line)" qui renvoie un "point" (éventuellement à l'infini).
Si tu cherches l'intersection d'un cercle avec une de ses tangentes, c'est bien "intersectionpoints" qu'il faut utiliser et ça renvoie un tableau de points.
MB a écrit:je me demandais si il était possible de rendre la chose automatique lorsqu'il n'y a qu'un seul point. :?:

C'est possible en faisant un "casting" de "point[]" vers "point" mais ça risque de générer des effet de bords imprévisibles; il faut que je teste...
Ceci dit, je ne suis pas convaincu de l'utilité...
MB a écrit:2) Je teste la routine tremble. Comment faire pour tracer de cette façon un objet de type line ?
Si j'essaye j'obtiens :
Code: Tout sélectionner
cannot call 'path tremble(path g, real angle=<default>, real frequency=<default>, real random=<default>)'
with parameters '(line, real frequency, int random)'


Il n'est pas possible de convertir un objet de type "line" en "path" car la taille des objets changent au fur et à mesure de la construction.
Il te faut donc définir toi-même le chemin à tracer; tu peux utiliser les propriétés line.A, line.B et line.u pour le définir.
Note qu'il existe "curpoint(line l,real x)" pour avoir un point d'abscisse x dans le repère de l (essaye show(line)), et "relpoint(line l, real t)" pour avoir un point relatif au vecteur \vec{l.Al.B}.

Je ne vais toujours pas avancer une date mais j'ai commencé la dernière section de la documentation (autour de 80 pages actuellement): Les triangles.
Il restera quand même un peut de travail sur les inversions et les routines annexes (tremble, cross etc...).
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar MB » Lundi 12 Novembre 2007, 22:26

Merci pour ta réponse.

C'est vrai que le premier point n'est pas très important. En fait je voulais une intersection line (demi-droite en fait) et circle et il me semble que intersectionpoint n'en veut pas. Enfin bref, c'est du détail ça.

Pour le second point, je vais regarder ça de plus prêt maintenant que j'ai compris le problème.

Bon courage pour la fin de ta documentation en tout cas et encore merci pour tout. :D
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar Ph. Ivaldi » Jeudi 15 Novembre 2007, 11:27

MB a écrit:En fait, c'est cette figure que je voudrais passer en version "à main levée". :wink:


Je pense que le code suivant :

Code: Tout sélectionner
point pC = intersectionpoints(line(pB,false,rotate(35,pB)*pA),circle(pB,6))[0];
point pD = intersectionpoints(line(pC,false,rotate(-112,pC)*pB),circle(pC,4))[0];
point pE = intersectionpoints(line(pD,false,rotate(-78,pD)*pC),circle(pD,4))[0];


peut avantageusement être remplacé par celui là :

Code: Tout sélectionner
point pC = pB+6*(rotate(35)*unit(pA-pB));
point pD = pC+4*(rotate(-112)*unit(pB-pC));
point pE = pD+4*(rotate(-78)*unit(pC-pD));


MB a écrit:Mais je ne sais d'ailleurs pas si le résultat sera satisfaisant ou pas avec les marqueurs ...


Pour les marqueurs il faut que je redéfinisse les routines de marquage et cela n'a rien à faire dans geometry_dev...
Du coup j'ai décidé de supprimer tout ce qui concerne le tracé à main levé du paquet geometry_dev pour créer un paquet à part: trembling_pi.
Je développerais plus tard ce qu'il manque à ce paquet.
Tu peux voir une version provisoire de ta figure à main levé ICI.

À faire du ménage, j'ai aussi basculé rotatedLabel dans base_pi (en attendant mieux) car John n'aime pas cette structure à juste titre.
J'avais aussi posté un patch de plain_label.asy pour automatiser la rotation des labels via un paramètre optionnel mais ça ne plaît toujours pas au patron; là je ne sais pas pourquoi (les routines Label sont quand même des bestioles très sensibles à la modification :-) ).
Je pense que John travaille actuellement à ces publications, il s'occupera plus d'Asymptote après.

MB a écrit:mais bon, c'est pour tester quoi ! :mrgreen:


Encore merci de tester!
Les retours de tests permettent d'avoir un paquet plus "propre" et plus cohérent.
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar MB » Jeudi 15 Novembre 2007, 18:25

Merci pour ces remarques Phillipe.

En effet, le code qui remplace l'utilisation de intersectionpoints est plus simple. Je n'avais jamais utilisé la commande unit.
C'est bien mieux comme ça.

Par ailleurs, le rendu de la figure tracée à main levée est très satisfaisant !
C'est bien pratique de pouvoir passer la commande tremble comme un paramètre de la commande draw.
Je suppose que c'est une modification que tu as faite pour l'occasion.

Si je comprends bien tu vas faire plusieurs modules alors :

  • geometry(_pi) : pour les structures line, triangle, segment, ...
  • tremble(_pi) : pour l'effet "à main levée".
  • markers(_pi) : pour les différents marqueurs (segments et angles).

Et dans d'autres modules, les modifications des commandes de Label par exemple (et AddMargins aussi peut être).

Ca sera sans doute plus clair comme ça et plus facile à maintenir.
En tout cas, l'ensemble simplifie grandement l'utilisation d'Asymptote. C'est vraiment appréciable. :D
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar Ph. Ivaldi » Jeudi 15 Novembre 2007, 19:11

MB a écrit:C'est bien pratique de pouvoir passer la commande tremble comme un paramètre de la commande draw.
Je suppose que c'est une modification que tu as faite pour l'occasion.

Oui, les routines pour tracer les droites admettent maintenant un paramètre supplémentaire: pathModifier pathModifier=NoModifier
Où le type pathModifier représente une routine admettant pour paramètre un path et retournant un path.
Par exemple, NoModifier est simplement défini par pathModifier NoModifier=new path(path g){return g;};
Par soucis de cohérence il faudrait que je fasse de même pour les paraboles et les hyperboles bien que j'imagine mal quelqu'un vouloir tracer une hyperbole comme « à main levée ».

MB a écrit:Si je comprends bien tu vas faire plusieurs modules alors :
  • geometry(_pi) : pour les structures line, triangle, segment, ...
  • tremble(_pi) : pour l'effet "à main levée".
  • markers(_pi) : pour les différents marqueurs (segments et angles).
Et dans d'autres modules, les modifications des commandes de Label par exemple (et AddMargins aussi peut être).

Pas tout à fait. Les markers "normaux" (segments et angles compris) ainsi que Addmargins restent dans geometry(_pi).
Dans tremble(_pi) je mettrais tout ce qu'il faut pour faire des figures à main levée; il redéfinira par exemple toute les routines de marquage.
Enfin dans base_pi je laisse pour le moment rotatedLabel, en attendant que John implémente lui même ce qu'il faut pour automatiser ça (il ma promis qu'il le ferait).
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar alekhine » Jeudi 15 Novembre 2007, 20:57

Bonsoir,

je vais poser une question bête qui n'a pas réellement à voir avec les modules de Philippe Ivaldi, mais comme certains de ses exemples se terminent par ce code, je la pose quand même ici :

Code: Tout sélectionner
shipout(bbox(xmargin=1mm,invisible));


A quoi sert ce code en fin de figure ?
Merci.
alekhine
Kilo-utilisateur
 
Messages: 225
Inscription: Samedi 18 Août 2007, 20:57
Localisation: Caen
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar MB » Vendredi 16 Novembre 2007, 01:12

alekhine a écrit:A quoi sert ce code en fin de figure ?


Pas en grand chose en fait, mais j'aime bien le mettre.
Ca laisse un blanc de 1mm autour de la figure (une petite marge quoi). C'est tout.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar Ph. Ivaldi » Vendredi 16 Novembre 2007, 01:37

Bonsoir,
J'ai été devancé par MB mais bon.. je poste quand même ma réponse.
alekhine a écrit:
Code: Tout sélectionner
shipout(bbox(xmargin=1mm,invisible));

A quoi sert ce code en fin de figure ?


La documentation dit: To draw a bounding box with margins around a picture, fit the picture to a frame using the function

Code: Tout sélectionner
frame bbox(picture pic=currentpicture, real xmargin=0,
                 real ymargin=xmargin, pen p=currentpen,
                 filltype filltype=NoFill);


En d'autres termes, cette routine retourne la "frame" obtenue en ajoutant une boite autour de pic avec les marges données et rempli suivant la valeur de Filltype.
Sa principale utilisation se fait en conjonction avec shipout qui ordonne de générer la figure au format spécifié (eps par défaut).

Par exemple le code suivant génère une figure toute blanche:
Code: Tout sélectionner
size(6cm);
currentpen=white;
draw(unitcircle);
real sq=sqrt(2)/2;
draw(shift(-sq,-sq)*scale(2*sq)*unitsquare);

Avec un shipout(bbox(2mm,Fill(black))); à la fin tout devient lumineux.
Non, sombre.
Bref, on voit quelque chose.

Pour le plaisir des yeux:
Code: Tout sélectionner
size(6cm);

currentpen=white;
draw(unitcircle);
real sq=sqrt(2)/2;
draw(shift(-sq,-sq)*scale(2*sq)*unitsquare);

picture pic;
add(pic,rotate(45)*xscale(1.5)*bbox(2mm,RadialShade(grey,black)));
shipout(bbox(pic,RadialShade(grey,black)));
Fichiers joints
bbox.png
bbox.png (28.08 Kio) Vu 1278 fois
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar alekhine » Vendredi 16 Novembre 2007, 17:28

Merci pour vos réponses tous les deux, et (je sais je me répète) féliciations et encouragements pour le travail de Philippe.
alekhine
Kilo-utilisateur
 
Messages: 225
Inscription: Samedi 18 Août 2007, 20:57
Localisation: Caen
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar MB » Samedi 24 Novembre 2007, 10:44

Je n'arrive pas à trouver le module trembling_pi.asy !
J'ai cherché ici ... mais rien. :?
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar Ph. Ivaldi » Samedi 24 Novembre 2007, 11:14

MB a écrit:Je n'arrive pas à trouver le module trembling_pi.asy !

Excuse moi, j'ai oublié de la mettre sous contrôle SVN; c'est chose faite...
J'ai aussi remarqué que beaucoup de liens de la page de présentation des modules sont morts; je regarderais ça prochainement.
Merci.
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar MB » Samedi 24 Novembre 2007, 11:31

Merci Philippe j'ai trouvé ! :D

Par contre, geometry_dev a été renommé en geometry_pi c'est ça ?

J'ai des doutes car apparemment l'objet point n'est pas définit :

Code: Tout sélectionner
no type of name 'point'


Je suis un peu perdu dans les noms de modules là. En tout cas geometry_dev n'est pas sur le SVN.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar Ph. Ivaldi » Samedi 24 Novembre 2007, 12:12

MB a écrit:Par contre, geometry_dev a été renommé en geometry_pi c'est ça ?
Je suis un peu perdu dans les noms de modules là.

Oui c'est un peu le bazar dans mes modules... Depuis que j'ai été admis développeur dans l'équipe d'Asymptote je les ai laissés en plan...
geometry_pi est mon module perso de géométrie, il est obsolète et ne devrait plus être utilisé.
Dès que la documentation française de geometry_dev est terminée il va y avoir plusieurs possibilités:
* soit John est intéressé pour le mettre immédiatement en version officielle; dans ce cas geometry_dev deviendra simplement geometry
* soit il préfère attendre la version anglaise + une période de tests; dans ce cas geometry_dev deviendra temporairement geometry_pi pour un jour intégrer les paquets officiels
* soit John n'est pas du tout intéressé par ce paquet; dans ce cas geometry_dev deviendra définitivement geometry_pi et je serais un peu déçu.

MB a écrit:J'ai des doutes car apparemment l'objet point n'est pas définit :
Code: Tout sélectionner
no type of name 'point'

Il faut utiliser geometry_dev, la version de "geometry" en dev quoi...

MB a écrit:En tout cas geometry_dev n'est pas sur le SVN.

Si, mais comme je le considère inachevé c'est dans la branche branches
Ne pas regarder les geo_*: chez moi geometry_dev est saucissonné en plusieurs fichiers pour plus de confort d'édition et un script assemble le tout en geometry_dev lors des mises à jour.
Voilà... c'est le foutoir... et tant que cette foutue doc ne sera pas terminée ça va resté le foutoir :-(
Pendant les vacances de Noël je vais donner un gros coup de balai !
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar MB » Samedi 24 Novembre 2007, 12:41

Ok, tout est plus clair maintenant !!
J'ai pu télécharger les dernière version de geometry_dev et tout fonctionne parfaitement maintenant. :mrgreen:
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar francois » Samedi 24 Novembre 2007, 12:43

Bonjour,

je voulais savoir s'il y aura bientôt une documentation d'Asymptote en français.
Si c'est le cas, j'espère qu'on aura un petit message sur MathemaTeX, car je suis vraiment intéressé.
François Lafont
francois
Giga-utilisateur
 
Messages: 856
Inscription: Mercredi 20 Septembre 2006, 23:14
Localisation: Antony
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Questions sur le module geometry_dev

Messagepar Ph. Ivaldi » Samedi 24 Novembre 2007, 15:01

francois a écrit:je voulais savoir s'il y aura bientôt une documentation d'Asymptote en français.

O.G a lancé l'idée d'en maintenir une, à laquelle j'aurais volontiers participé, mais le temps nous manque cruellement.
Quand on sait que je phagocyte le temps restant à O.G pour traduire en anglais la doc de geometry_dev, on comprends qu'il va encore falloir attendre...
Il y a aussi Kib2 qui a commencé un tutoriel sympa ici mais c'est au point mort depuis cet été; je suis sûr que quelques messages d'encouragement lui feraient plaisir :clapping:
francois a écrit:Si c'est le cas, j'espère qu'on aura un petit message sur MathemaTeX,

Bien sûr.
francois a écrit:car je suis vraiment intéressé.

Je comprends.
Moi ce que j'attends avec impatience c'est le support des scènes en 3D; je n'ai aucune idée de l'avancement de ce travail...
J'ai surtout vu passé dernièrement des mises à jour de l'interface graphique (il ne faut pas oublier que Asymptote est doté d'une GUI -- pour l'instant rudimentaire --).
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

PrécédenteSuivante

Retourner vers Asymptote

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités