Mise à jour et deffered drawing ...

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.

Mise à jour et deffered drawing ...

Messagepar chellier » Vendredi 09 Septembre 2011, 18:47

Bonjour,

Ce code fonctionnait très bien "avant" (avant les changements de la 2.09, je pense)

Code: Tout sélectionner
import graph;

unitesize(1cm);
//size(4cm);  // fonctionne très bien avec cette ligne au lieu de la précédente !

real operator *(transform t, explicit real x){return xpart(t*(x,0));}

void bracket(picture pic=currentpicture, real a){
   currentpicture.add(new void(frame f, transform t, transform, pair m, pair M) {
      transform it=inverse(t);
      draw(pic,(a,it*-.3cm)--(a,it*.3cm));});
}

xlimits(0,4);
xaxis(Arrow);
bracket(2);


(je l'ai simplifié au maximum, ça ne ressemble plus à un crochet :wink: )
Avec unitsize, apparemment rien n'est tracé :shock: alors qu'avec size(4cm) tout va bien...

Quelqu'un aurait une idée avant que je passe par google traduction pour poster sur le forum officiel ?
Christophe

PS : je ne maîtrise pas du tout la partie deffered drawing de ce code qui m'a été donnée sur ce forum. :mrgreen:
chellier
Modérateur
 
Messages: 355
Inscription: Samedi 25 Juillet 2009, 11:25
Localisation: Le Creusot
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: deffered drawing...

Messagepar OG » Vendredi 09 Septembre 2011, 21:32

Bonsoir Christophe


Pas trop de le temps de vérifier à partir de quelle version ce code ne fonctionne plus, mais ce serait intéressant de le savoir et d'avoir quelques explications (en postant sur le forum).
En même temps faire du deferred drawing quand unitsize est fixée est paradoxale non ?

Voici une piste mais qui demande à être testée un peu plus.

ad7f069866cc4e75d21cfb0dbb5eafb0.png

Code: Tout sélectionner
import graph;

unitsize(1cm);
//size(4cm); // fonctionne très bien avec cette ligne au lieu de la précédente !

real operator *(transform t, explicit real x){return xpart(t*(x,0));}

void bracket(picture pic=currentpicture, real a){
frame f;
draw(f,(0,-.3cm/bp)--(0,.3cm/bp));
add(f,(a,0));
}
xlimits(0,4);
xaxis(Arrow);
bracket(3);
draw(unitsquare);
bracket(2);
draw((2.1,-.3)--(2.1,.3));


O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: deffered drawing...

Messagepar chellier » Samedi 10 Septembre 2011, 09:07

OG a écrit:En même temps faire du deferred drawing quand unitsize est fixée est paradoxale non ?

Voici une piste mais qui demande à être testée un peu plus.


Merci Olivier,

En effet, après quelques tests ça a l'air de fonctionner (et en plus c'est plus simple !)
Après, je veux que mes crochets aient toujours la même taille, même avec un unitsize(2cm) par exemple, mais il y a peut-être plus simple ? :

bcb9a270110216dd10b319fe10a6aa34.png

Code: Tout sélectionner
import graph;

unitsize(1cm);

void bracket(picture pic=currentpicture, real a){
frame f;
draw(f,(0,-.3cm/bp)--(0,.3cm/bp));
add(pic,f,(a,0));
}
xlimits(0,4);
xaxis(Arrow);
bracket(3);
draw(unitsquare,red);
bracket(2);
draw((2.1,-.3)--(2.1,.3),red);
label("unitsize(1cm)",(6,.7));

picture pic1;
unitsize(pic1,2cm);
xlimits(pic1,0,4);
xaxis(pic1,Arrow);
bracket(pic1,3);
draw(pic1,unitsquare,red);
bracket(pic1,2);
draw(pic1,(2.1,-.3)--(2.1,.3),red);
label(pic1,"unitsize(2cm)",(3,.5));
add(pic1.fit(),(0,-4));


Je vais essayer de trouver le temps de poster sur le forum officiel pour en savoir un peu plus...

Christophe
chellier
Modérateur
 
Messages: 355
Inscription: Samedi 25 Juillet 2009, 11:25
Localisation: Le Creusot
Statut actuel: Actif et salarié | Enseignant

Re: Mise à jour et deffered drawing ...

Messagepar OG » Samedi 10 Septembre 2011, 13:35

Hello

J'ai vu ton message sur le forum officiel.
Sur l'exemple il me semble bien que les traits sont de même longueur non ?
(le rouge est plus grand mais c'est normal)

O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Mise à jour et deffered drawing ...

Messagepar chellier » Samedi 10 Septembre 2011, 14:15

Oui oui :D C'est bien ce que je veux, l'exemple précédent était là juste pour te montrer l'utilité que j'avais du deferred drawing avec unitsize, vu ta remarque.

Christophe
chellier
Modérateur
 
Messages: 355
Inscription: Samedi 25 Juillet 2009, 11:25
Localisation: Le Creusot
Statut actuel: Actif et salarié | Enseignant

Re: Mise à jour et deffered drawing ...

Messagepar chellier » Dimanche 11 Septembre 2011, 17:56

La réponse sur le forum officiel : http://sourceforge.net/projects/asymptote/forums/forum/409349/topic/4701746

Je crois que je vais m'en tenir à la méthode proposée par OG...

Christophe
chellier
Modérateur
 
Messages: 355
Inscription: Samedi 25 Juillet 2009, 11:25
Localisation: Le Creusot
Statut actuel: Actif et salarié | Enseignant


Retourner vers Asymptote

Qui est en ligne

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