dirtime et reltime
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 :
- Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
- Version d'Asymptote et éditeur utilisé pour les figures Asymptote
- Distribution LaTeX et éditeur utilisé pour les tex.
On va gagner du temps dans les réponses !
dirtime et reltime
Toujours en train de bosser Asymptote ...
Puis je connaitre les subtilités de : dirtime et de reltime svp ?
J'ai bien trouvé un truc sur marris.org mais je n'arrive pas à le déchiffrer, quant à la traduction sur Asymptote j'en parle même pas...
Merci
Re: dirtime et reltime
ta question me fait réaliser qu'il faudrait que j'édite certains messages du sujet arctime... pour dire que la fonction arctime renvoie le time d'un point d'un path (et non l'arctime comme il a été écrit).
arctime, dirtime et reltime........... renvoient, toutes les trois, le time d'un point (d'un path) correspondant à un critère donné.
- pour arctime, le time renvoyé est celui du point situé à une distance curviligne choisie du point de départ ;
- pour dirtime, le time renvoyé est celui du premier point en lequel la tangente est dirigée par un vecteur directeur choisi ;
- pour reltime, le time renvoyé est celui du point situé à une certaine proportion choisie de la longueur totale du chemin à partir du point de départ.
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 !
Re: dirtime et reltime
Mille merci !!!
Re: dirtime et reltime
GM a écrit :arctime, dirtime et reltime........... renvoient, toutes les trois, le time d'un point (d'un path) correspondant à un critère donné.
- pour arctime, le time renvoyé est celui du point situé à une distance curviligne choisie du point de départ ;
- pour dirtime, le time renvoyé est celui du premier point en lequel la tangente est dirigée par un vecteur directeur choisi ;
- pour reltime, le time renvoyé est celui du point situé à une certaine proportion choisie de la longueur totale du chemin à partir du point de départ.
Trois exemples :
*** 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
- size(400);
- path courbe=(0,1.5)..(1.5,1)..(3.5,0.5)..(4,.7)..(4.4,1)..(5,2);
- dot(courbe,3bp+.3green);
- draw(courbe,red);
- for(int k=0; k<size(courbe); ++k) label(string(k),point(courbe,k),N, red);
- for(int k=0; k<arclength(courbe); ++k)
- {
- real t=arctime(courbe,k);
- dot(string(k),point(courbe,t),S, 1.5bp+blue);
- }
*** 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
- size(400);
- path courbe=(0,1.5)..(1.5,1)..(3.5,0.5)..(4,.7)..(4.4,1)..(5,2);
- dot(courbe,3bp+.3green);
- draw(courbe,red);
- pair[] direction={dir(0),dir(45)};
- for(pair k : direction)
- {
- real t=dirtime(courbe,k);
- dot(point(courbe,t),1.5bp+blue);
- draw(point(courbe,t)-k--point(courbe,t)--point(courbe,t)+k);
- }
*** 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
- size(400);
- path courbe=(0,1.5)..(1.5,1)..(3.5,0.5)..(4,.7)..(4.4,1)..(5,2);
- dot(courbe,3bp+.3green);
- draw(courbe,red);
- for(int k=0; k<size(courbe); ++k) label(string(k),point(courbe,k),N, red);
- for(real k=0; k<=1; k+=.1)
- {
- real t=reltime(courbe,k);
- dot(string(k),point(courbe,t),2S, 1.5bp+blue);
- }
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 !
Re: dirtime et reltime
2 est la distance curviligne du début du chemin (0;1.5) au point rouge : j'ai ajouté le repère pour permettre de voir que la distance est cohérente.
.9 pour que le point vert soit situé au 9/10 du chemin en partant du noeud de départ (0;1.5).
*** 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
- import geometry;
- show(defaultcoordsys);
- size(400);
- path courbe=(0,1.5)..(1.5,1)..(3.5,0.5)..(4,.7)..(4.4,1)..(5,2);
- dot(courbe,3bp+.3green);
- draw(courbe,blue);
- dot("point(courbe,arctime(courbe,2))",point(courbe,arctime(courbe,2)),N,4bp+red);
- dot("arcpoint(courbe,2))",arcpoint(courbe,2),S,4bp+red);
- dot("point(courbe,reltime(courbe,.9))",point(courbe,reltime(courbe,.9)),N,4bp+.5green);
- dot("relpoint(courbe,.9))",relpoint(courbe,.9),S,4bp+.5green);
Les places respectives des points rouge et vert vis à vis des noeuds définissant le chemin (points noirs de time 0, 1, 2, 3, 4 et 5) donnent à penser que leurs times respectifs sont environ et .
Confirmation par leur affichage en console :
Code : Tout sélectionner
write(arctime(courbe,2));
write(reltime(courbe,.9));
qui donne
Code : Tout sélectionner
Process started >>>
1.19497765795582
4.49980803866304
<<< Process finished.
alors que demander l'affichage en console de arcpoint et relpoint va donner les coordonnées des points rouge et vert :
Code : Tout sélectionner
write(arcpoint(courbe,2));
write(relpoint(courbe,.9));
Code : Tout sélectionner
Process started >>>
(1.88011133064857,0.829340802742146)
(4.76804694722963,1.45890833828973)
<<< Process finished.
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 !
Re: dirtime et reltime
http://www.marris.org/asymptote/Lignes/index.html#fig_ta00_211112_time
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 !
Re: dirtime et reltime
GM a écrit :je simplifierai plus tard les trois exemples qui suivent pour rendre plus limpides les fonctions arctime, dirtime, reltime, car il est vrai qu'à l'époque, j'ai particulièrement manqué de simplicité dans ces exemples.
http://www.marris.org/asymptote/Lignes/index.html#fig_ta00_211112_time
Pour deux des trois figures, censées illustrer arctime et reltime, je songe à remplacer par ceci :
*** 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
- // Trois fonctions à connaitre : arctime, dirtime, reltime.
- // Illustrons dans cet exemple l'utilisation de arctime et arcpoint.
- // real arctime(path p, real L);
- // renvoie le "time" du point à la distance curviligne L du noeud 0 sur le chemin p.
- usepackage("xcolor");
- import markers;
- import geometry;
- show(defaultcoordsys);
- size(10cm,0);
- path ligne=(-3,1)..(-1,2)..(4,0)..(5,3);
- draw(ligne,blue,dot);
- for(int k=0; k<size(ligne); ++k) label(string(k),point(ligne,k),N);
- // Subdivisons le debut de la ligne, sur une longueur 10, en 10.
- // en mettant 11 points rouges espacés de 1.
- draw(subpath(ligne,0,arctime(ligne,10)),
- nullpen, // << pour ne pas tracer la restriction de la ligne
- StickIntervalMarker(i=10,n=2,size=1mm,space=.5mm,dotframe(1.8bp+red))
- );
- // arctime(ligne,10) a permis d'avoir le "time" du point qui est à une distance
- // curviligne 10 du début de la ligne... qui était attendu par la fonction subpath.
- draw(Label(minipage("\scriptsize\textcolor{red}{\tt arcpoint(ligne,10)}\color{purple}\\
- (point situ\'e à une distance curviligne 10 du noeud 0)
- dont le \emph{time} est donn\'e\\
- par \textcolor{red}{\tt arctime(ligne,10)}.\\
- {\tt arctime(ligne,10)}$\approx 2,57$",3.5cm),position=BeginPoint),
- (4,2.2)--arcpoint(ligne,10),Arrow);
- shipout(bbox(1mm,white));
*** 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
- // Trois fonctions à connaitre : arctime, dirtime, reltime.
- // Illustrons dans cet exemple l'utilisation de reltime et relpoint.
- // real reltime(path p, real l);
- // renvoie le "time" du point de p situé à une distance relative l (comprise entre 0 et 1) du noeud 0.
- usepackage("xcolor");
- import markers;
- import geometry;
- show(defaultcoordsys);
- size(10cm,0);
- path ligne=(-3,1)..(-1,2)..(4,0)..(5,3);
- draw(ligne,blue,dot);
- for(int k=0; k<size(ligne); ++k) label(string(k),point(ligne,k),N);
- // Subdivisons les premiers 70\% de la ligne en 7 en mettant 8 points bleus \'egalement espac\'es.
- draw(subpath(ligne,0,reltime(ligne,0.7)),
- nullpen, // << pour ne pas tracer la restriction de la ligne
- StickIntervalMarker(i=7,n=3,size=1mm,space=.5mm,dotframe(1.8bp+red))
- );
- // reltime(ligne,0.7) a permis d'avoir le "time" du point qui est à 70% de la longueur
- // de la ligne à partir du noeud 0... qui était attendu par la fonction subpath.
- draw(Label(minipage("\scriptsize\textcolor{red}{\tt relpoint(ligne,0.7)}\color{purple}\\
- (point situ\'e à une distance relative de 70\% du noeud 0)\\
- dont le \emph{time} est donn\'e\\
- par \textcolor{red}{\tt reltime(ligne,0.7)}.\\
- {\tt reltime(ligne,0.7)}$\approx 2,06$",4.2cm),position=BeginPoint),
- (3.4,2)--relpoint(ligne,0.7),Arrow);
- // write(reltime(ligne,0.7)); // Affichage en console : 2.05802439617465
- shipout(bbox(1mm,white));
J'ai le sentiment que ce sera plus clair. Non ?
Edition de 18h55 : comme je suis convaincu de la réponse... j'officialise les nouveaux exemples :
http://www.marris.org/asymptote/Lignes/index.html#fig_ta01_010808_arctime
http://www.marris.org/asymptote/Lignes/index.html#fig_tc01_010808_reltime
J'ai gardé les liens d'origine mais ajouté un commentaire pour signaler qu'ils ont été profondément remaniés.
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 !
Re: dirtime et reltime
Finalement, en toute modestie, ma question aura servi à éclaircir ces notions !
Encore merci