arctime
Que fait la commande : real arctime(path p, real L); svp ?
J'ai bien fait une traduction mais encore une fois je doute de mon travail !
dédié à Asymptote, puissant langage de graphisme vectoriel.
http://asy.marris.fr/forum/
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- size(400);
- marker croix=marker(scale(2)*cross(4),1bp+green);
-
- real a = 2, longueur = 5;
- path p1=(0,0)--(1,0)--(longueur,0),
- p2=(0,0)--(4,0)--(longueur,0);
- transform t = shift(0,-a);
-
- draw(p1,red,dot(10bp+black));
- draw(t*p2,blue,dot(10bp+black));
-
- for (real k=0; k<=length(p1); k+=0.5) {
- draw(Label(format("%.1f",k)),point(p1,k),2N,red,croix);
- draw(Label(format("%.1f",k)),t*point(p2,k),2S,blue,croix);
- }
- pair centreimage = (longueur/2,-a/2);
- label("2 chemins de même longueur (L="+string(arclength(p1))+") d\'efinis par 3 points noirs diff\'erents.",centreimage,N);
- label("Les nombres color\'es sont le \textit{time} des points marqu\'es d'une croix.",centreimage,S);
- label("Le milieu du premier segment a pour \textit{time} : "+string(arctime(p1,longueur/2)),centreimage,10N,red);
- label("Le milieu du second segment a pour \textit{time} : "+string(arctime(p2,longueur/2)),centreimage,10S,blue);
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- unitsize(1cm);
-
- marker croix=marker(scale(2)*cross(4),1bp+green),
- tiret=marker((0,-1)--(0,1),black);
- real L=10;
- path p1=(0,0)--(2,0)--(6,0)--(L,0),
- p2=(0,0)--(4,0)--(7,0)--(L,0);
-
- transform t = shift(0,-2);
-
- draw(p1,red,dot(6bp+black));
-
- draw(t*p2,blue,dot(6bp+black));
-
- for (real k=0; k<=length(p1); k+=1) {
-
- draw(Label(format("%.1f",k)),point(p1,k),2N,red,croix);
-
- draw(Label(format("%.1f",k)),t*point(p2,k),2N,blue,croix);
- }
-
- for (real k=0; k<=L; k+=1) {
-
- draw(Label(format("%.1f",k)),(k,0),2S,tiret);
-
- draw(Label(format("%.1f",k)),t*(k,0),2S,tiret);
- }
-
- label(scale(0.8)*("Deux chemins de m\^eme longueur (L="+string(arclength(p1))+") d\'efinis par 4 points noirs diff\'erents."),(0,-3.4),E);
-
- label(scale(0.8)*(string(arctime(p1,0)) + " est le time du point de p1 \`a la distance " + string(arclength((0,0)-(0,0)))),(5,-4),W,red);
- label(scale(0.8)*(string(arctime(p1,L/2)) + " est le time du point de p1 \`a la distance " + string(arclength(scale(0.5)*p1))),(5,-5),W,red);
- label(scale(0.8)*(string(arctime(p1,0.8*L)) + " est le time du point de p1 \`a la distance " + string(arclength(scale(0.8)*p1))),(5,-6),W,red);
- label(scale(0.8)*(string(arctime(p1,L)) + " est le time du point de p1 \`a la distance " + string(arclength(scale(1)*p1))),(5,-7),W,red);
-
- label(scale(0.8)*(string(arctime(p2,0)) + " est le time du point de p2 \`a la distance " + string(arclength(scale(0)*p2))),(5,-4),E,blue);
- label(scale(0.8)*(string(arctime(p2,L/2)) + " est le time du point de p2 \`a la distance " + string(arclength(scale(0.5)*p2))),(5,-5),E,blue);
- label(scale(0.8)*(string(arctime(p2,0.8*L)) + " est le time du point de p2 \`a la distance " + string(arclength(scale(0.8)*p2))),(5,-6),E,blue);
- label(scale(0.8)*(string(arctime(p2,L)) + " est le time du point de p2 \`a la distance " + string(arclength(scale(1)*p2))),(5,-7),E,blue);
-
- shipout(bbox(0.5mm,white));
zariski a écrit :corrigez moi svp si j'ai dit des bêtises.
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- import markers;
- unitsize(100);
- path p=unitcircle;
- draw(p,dot);
- pair pM=point(p,arctime(p,1));
- dot(string(arctime(p,1)),pM,5bp+red);
- draw((1,0)--(0,0)--pM{dir(-I*pM)}..{-I}cycle,StickIntervalMarker(3,2,blue,dotframe(.8green)));
- label("$\frac{2}{\pi} \approx$ "+string(2/pi),truepoint(NE),NW);
GM a écrit :On constatera que l'on n'obtient pas une valeur approchée aussi proche de la valeur théorique de qu'on aurait pu l'imaginer.
J'imagine qu'une partie de l'erreur est imputable au fait que unitcircle manque de précision avec ses (seulement) 4 noeuds.
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- import graph;
- import markers;
- unitsize(100);
- int n0=8;
- path p=Circle(c=(0,0),r=1,n=4*n0);
- draw(p,dot);
- pair pM=point(p,arctime(p,1));
- dot(string(arctime(p,1)),pM,5bp+red);
- draw((1,0)--(0,0)--pM{dir(-I*pM)}..{-I}cycle,StickIntervalMarker(3,2,blue,dotframe(.8green)));
- label(format("$\frac{2}{\pi}\times %i \approx$ ",n0)+string(2/pi*n0),truepoint(NE),NW);
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***
- import graph;
- import markers;
- unitsize(100);
- int n0=80;
- path p=Circle(c=(0,0),r=1,n=4*n0);
- draw(p,dot);
- pair pM=point(p,arctime(p,1));
- dot(string(arctime(p,1)),pM,5bp+red);
- draw((1,0)--(0,0)--pM{dir(-I*pM)}..{-I}cycle,StickIntervalMarker(3,2,blue,dotframe(.8green)));
- label(format("$\frac{2}{\pi}\times %i \approx$ ",n0)+string(2/pi*n0),truepoint(NE),NW);