path, subpath ...

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 !
Avatar du membre
Coyote
Messages : 6
Enregistré le : sam. 13 mars 2010, 09:16
Localisation : Chambéry

path, subpath ...

Message non lu par Coyote » mer. 15 août 2012, 11:30

Bonjour,

je suis désolé de poser cette question qui doit paraitre toute bete, mais là j'ai cherché partout et je deviens fou .
Je m'explique, j'ai deux chemins qui s'intersectent.
Je définis donc les 2 points d'intersections, puis sur le deuxième chemin je veux tracer la partie qui n'est pas contenue dans l'intersection !
Hors j'ai celle qui est justement dedans !!!
Je ne sais pas comment faire pour avoir l'autre ...

Je vous donne mon code (dont le départ revient à GM, un grand merci à lui pour son site) :

Code : Tout sélectionner

size(7.8cm,0);

// Je définis un chemin c1 et un second c2 déduit par translation.
path c1=(0,0)..(1.5,0)..(2,1.5)..(-1,1)..cycle,
      c2=shift(-1.5,.6)*c1 ;

real[][] intt=intersections(c2,c1) ;

draw(subpath(c2, intt[0][0], intt[1][0]), 2bp+black);
draw(c1) ;


Je voudrais donc le complémentaire du chemin en gras ....

Merci d'avance.

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

Re: path, subpath ...

Message non lu par OG » mer. 15 août 2012, 13:36

Comme il y a du cyclic dans l'air

Figure asymptote ff32f3bc71fd39f24af0d04edf750830
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. size(7.8cm,0);
  2.  
  3. // Je définis un chemin c1 et un second c2 déduit par translation.
  4. path c1=(0,0)..(1.5,0)..(2,1.5)..(-1,1)..cycle,
  5. c2=shift(-1.5,.6)*c1 ;
  6.  
  7. real[][] intt=intersections(c2,c1) ;
  8. draw(subpath(c2, length(c2)+intt[0][0], intt[1][0]), 1bp+black);
  9. draw(c1) ;


O.G.

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

Re: path, subpath ...

Message non lu par GM » mer. 15 août 2012, 15:22

Une variante avec des couteaux :

Figure asymptote bbaa8c4c76dd51cce61e7a95e52e7db1
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. size(7.8cm,0);
  2. path c1=(0,0)..(1.5,0)..(2,1.5)..(-1,1)..cycle,
  3. c2=shift(-1.5,.6)*c1,
  4. p[]=firstcut(c2,c1).before^^lastcut(c2,c1).after;
  5.  
  6. draw(c1,red+2bp);
  7. draw(c2,blue+2bp);
  8. draw(p,green+1bp);
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 !

Avatar du membre
Coyote
Messages : 6
Enregistré le : sam. 13 mars 2010, 09:16
Localisation : Chambéry

Re: path, subpath ...

Message non lu par Coyote » mer. 15 août 2012, 16:00

Un grand merci ....

Dans le but de comprends, que rajoute le "length(c2)+", pour moi length(c2) représente la longueur du chemin ?

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

Re: path, subpath ...

Message non lu par GM » mer. 15 août 2012, 16:10

Un exemple qui explique notamment la différence entre size et length :

http://www.marris.org/asymptote/Lignes/index.html#fig_ta01_010808_arctime


--------

Edition : un exemple spécifique a été ajouté depuis : voir ci-dessous.
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 !

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

Re: path, subpath ...

Message non lu par OG » mer. 15 août 2012, 16:14

Coyote a écrit :Un grand merci ....

Dans le but de comprends, que rajoute le "length(c2)+", pour moi length(c2) représente la longueur du chemin ?

length(c2) représente le nbre de segments (au sens courbe de Bézier bicubique) du chemin. Je n'ai pas testé sur un exemple de chemins
non cycliques afin de savoir si c'est spécifique ou non (en même temps sur un chemin non cyclique
il y a un début et une fin, c'est plus simple).

O.G.

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

Re: path, subpath ...

Message non lu par GM » mer. 15 août 2012, 16:18

GM a écrit :Un exemple qui explique notamment la différence entre size et length :

http://www.marris.org/asymptote/Lignes/index.html#fig_ta01_010808_arctime


Je vais le modifier car il n'est pas assez clair : les at1, at2, ... semblent parachutés, alors que... non.

--------

Edition : j'ai modifié l'ordre de certaines lignes de code pour que cela soit plus facile à lire par rapport à la figure et j'ai ajouté des commentaires.

J'ai ajouté aussi un exemple plus simple pour montrer spécifiquement la différence entre size, length et arclength :
http://www.marris.org/asymptote/Lignes/index.html#fig_si01_160812_size_length

Figure asymptote fa7515500bf134b33b56e2c3deca9a94
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. // Ne pas confondre size, length et arclength !
  2. size(7.5cm,0);
  3.  
  4. path chemin=(-3,1)..(-1,2)..(4,0)..(5,3);
  5.  
  6. draw(chemin,blue,dot);
  7. label(format("size(chemin) = %i",size(chemin)),truepoint(S),S);
  8. label(format("length(chemin) = %i",length(chemin)),truepoint(S),S);
  9. label(format("arclength(chemin) = %f",arclength(chemin)),truepoint(S),S);
  10.  
  11. shipout(bbox(3mm,white));
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 !

Avatar du membre
Coyote
Messages : 6
Enregistré le : sam. 13 mars 2010, 09:16
Localisation : Chambéry

Re: path, subpath ...

Message non lu par Coyote » mer. 15 août 2012, 16:49

Un grand merci à tous les deux, cela me semble un peu plus clair !

Dans tous les cas cela resout mon problème.

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

Re: path, subpath ...

Message non lu par GM » jeu. 16 août 2012, 09:15

Coyote a écrit :cela me semble un peu plus clair !

Pour que cela le soit beaucoup plus, un exemple spécifique a été ajouté. Cf. message édité ci-dessus.

Et je rajoute une image supplémentaire pour rappeler l'usage de la fonction write pour des affichages en console (d'un éditeur qui en possède une, comme notepad++ pour les utilisateurs de windows) :

Image
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 !

Avatar du membre
Coyote
Messages : 6
Enregistré le : sam. 13 mars 2010, 09:16
Localisation : Chambéry

Re: path, subpath ...

Message non lu par Coyote » ven. 17 août 2012, 09:15

Merci encore.

Tant que je suis dedans, j'ai repris tes exemples sur buildcycle et je ne comprends absolument pas pourquoi un coup il prend l'intersection et un coup il prend la réunion.

Asymptote est encore bien mystérieux pour moi :? .

Répondre