Buildcycle

Pour toute demande d'aide sur des exemples non finalisés, c'est ici.
Les exemples aboutis et intéressants seront ajoutés aux sous-forums qui suivent.

Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.

J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :

  1. Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
  2. Version d'Asymptote et éditeur utilisé pour les figures Asymptote
  3. Distribution LaTeX et éditeur utilisé pour les tex.


On va gagner du temps dans les réponses !
maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Buildcycle

Message non lu par maurice » jeu. 15 avr. 2010, 19:40

Bonjour, je n'arrive pas à bien utiliser buildcycle.
Voici mon code :

Code : Tout sélectionner

pair pA,pB,pC,pO,O;
     pA=(0,0);
     pB=(-1,0);
     pC=rotate(60,pB)*pA;
     pO=rotate(60,pA)*pB;
     O=((pA+2*((pB+pC)/2))/3);
path oreille=buildcycle(arc(O,pA,pB),arc(pO,1,120,60));
filldraw(oreille,lightgrey,blue);


lors de la compilation j'obtiens :

[tex] asy Mickey3.asy
/usr/share/asymptote/plain_picture.asy: 1625.11: runtime: non-cyclic path cannot be filled


C'est sans doute une erreur "bête" mais je tourne en rond depuis ...

merci de votre aide

Maurice
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Buildcycle

Message non lu par GM » jeu. 15 avr. 2010, 20:00

message depuis un tel au pied de l'aiguille du midi

Voir exemples galerie "contours domaines"
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: Buildcycle

Message non lu par maurice » jeu. 15 avr. 2010, 20:16

bon, je vais re-re-regarder les exemples...

merci et bonne ascension

Maurice
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

Avatar du membre
chellier
Messages : 104
Enregistré le : jeu. 18 mars 2010, 17:30

Re: Buildcycle

Message non lu par chellier » jeu. 15 avr. 2010, 20:17

Il faut spécifier la direction : CCW (counter-clockwise), ou CW (clockwise).
Remplace :

Code : Tout sélectionner

path oreille=buildcycle(arc(O,pA,pB),arc(pO,1,120,60));


par :

Code : Tout sélectionner

path oreille=buildcycle(arc(O,pA,pB,CCW),arc(pO,1,120,60,CCW));

Avatar du membre
chellier
Messages : 104
Enregistré le : jeu. 18 mars 2010, 17:30

Re: Buildcycle

Message non lu par chellier » jeu. 15 avr. 2010, 20:20

Ah et aussi, rajoute quelque chose comme :

Code : Tout sélectionner

size(7cm);

au début, ou tu ne vas pas voir grand chose ;)

Avatar du membre
chellier
Messages : 104
Enregistré le : jeu. 18 mars 2010, 17:30

Re: Buildcycle

Message non lu par chellier » jeu. 15 avr. 2010, 20:22

GM a écrit :message depuis un tel au pied de l'aiguille du midi

:D

Moi, ma femme veut plus que j'emmène mon téléphone en vacances :cry:

OG
V.I.P.
V.I.P.
Messages : 142
Enregistré le : dim. 7 mars 2010, 22:27

Re: Buildcycle

Message non lu par OG » jeu. 15 avr. 2010, 21:11

chellier a écrit :
GM a écrit :message depuis un tel au pied de l'aiguille du midi

:D

Moi, ma femme veut plus que j'emmène mon téléphone en vacances :cry:


Pour ma santé mentale (déjà atteinte) il vaut mieux que je n'ai pas accès au web
par un téléphone.
Enfin maintenant tout le monde sait où Gaëtan passe ses vacances !


O.G. qui était au Mt St Michel la semaine dernière (sans Internet)

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: Buildcycle

Message non lu par maurice » ven. 16 avr. 2010, 18:28

Bonjour,

quand j'ajoute les CCW,
j'obtiens ce que je ne veux pas Mickey3.eps

Alors que je veux remplir la zone de Mickey.eps

Avez-vous des idées ?
Fichiers joints
Mickey.eps
Mickey : zone que je voudrais remplir
(2.01 Kio) Téléchargé 377 fois
Mickey3.eps
Mickey3.eps : ce que je ne veux pas ...
(26.68 Kio) Téléchargé 388 fois
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

OG
V.I.P.
V.I.P.
Messages : 142
Enregistré le : dim. 7 mars 2010, 22:27

Re: Buildcycle

Message non lu par OG » ven. 16 avr. 2010, 19:44

Bonsoir

Pourrais-tu donner l'ensemble du code ?
Si j'ai bien compris tu veux remplir les oreilles et la tête (amputée du grand disque) ?

O.G.

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: Buildcycle

Message non lu par maurice » ven. 16 avr. 2010, 20:00

Bonjour, voici le code, c'est pour construire une figure fractale --> les oreilles de Mickey :

j'aimerais que la figure sois "pleine" :

Code : Tout sélectionner

//Fractales: Les oreilles de Mickey avec asymptote 1.92

import geometry;

//Taille de l'image
size(10cm,0);

void mickey(path p, pair centre, pair O, int n, pen stylo=black) {
       path image, im1, im2;
       transform h=scale(1/sqrt(3),centre);
       image=h*p;
       path oreille1=rotate(-60,O)*image;
       path oreille2=rotate(60,O)*image;
       draw(oreille1);
       draw(oreille2);
       if (n>0) {
                mickey(oreille1, rotate(-60,O)*centre, rotate(-60,O)*(h*O), n-1,stylo);
                mickey(oreille2, rotate(60,O)*centre, rotate(60,O)*(h*O), n-1, stylo);
       }
       else {
            //path oreille1=rotate(-60,O)*image;
            //path oreille2=rotate(60,O)*image;
            draw(oreille1);
            draw(oreille2);
       }
}

//Triangles de départ
pair pA,pB,pC,pO,O;
     pA=(0,0);
     pB=(-1,0);
     pC=rotate(60,pB)*pA;
     pO=rotate(60,pA)*pB;
     O=((pA+2*((pB+pC)/2))/3);
     
//dot("$A$",pA,N);
//dot("$B$",pB,S);
//dot("$C$",pC,W);
//dot("$O'$",pO,E);
//dot("$O$",O,SW);

//draw(arc(O,pA,pB));
//draw(arc(pO,pA,pB));
path oreille=(arc(O,pA,pB)--arc(pO,1,120,60));
draw(oreille);
//path oreille=bulidcycle(arc(O,pA,pB,CCW),arc(pO,1,120,60,CCW));  //C'Est la le problème
//filldraw(oreille,lightgrey,blue);


//Définition de l'homothétie
real k=(sqrt(3))/3;
pair centre=((O-k*pO)/(1-k));
//dot("$\Omega$",centre,N);
transform h=scale(k,centre);

//Récurssion  n=0 pour les oreilles simples
mickey(oreille,centre,O,1,blue);

// Ajout d'un cadre, distant des bords de l'image de 3mm
shipout(bbox(5mm,white));


Pour la figure de départ, qui donne la construction :

Code : Tout sélectionner

//Fractales: Les oreilles de Mickey avec asymptote 1.92

import geometry;

//Taille de l'image
size(10cm,0);

//Triangles de départ
pair pA,pB,pC,pO,O;
     pA=(0,0);
     pB=(-1,0);
     pC=rotate(60,pB)*pA;
     pO=rotate(60,pA)*pB;
     O=((pA+2*((pB+pC)/2))/3);
     
dot("$A$",pA,E);
dot("$B$",pB,W);
dot("$C$",pC,N);
dot("$O'$",pO,E);
dot("$O$",O,SW);

triangle TRI1=triangle(pA,pB,pC);

draw(TRI1);
draw(pA--pO--pB);

draw(circumcircle(TRI1));
draw(circle(pO,1));


Voila.

Merci

Maurice

PS : le blue de mickey(oreille,centre,O,1,blue); fait du noir (j'ai essayé avec red, c'est noir aussi, ...)
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

Répondre