Page 1 sur 1

récupérer l'abscisse curviligne

Posté : dim. 25 nov. 2012, 15:23
par zariski
Bonjour !
Est-il possible de récupérer l'abscisse curviligne d'un point dont on connait le "time" ?
De plus, si je trace une courbe paramétrique (x(t),y(t)) du plan, puis je récupérer le paramètre "t" connaissant le "time" d'un point M(x,y) de la courbe ?
Merci ...

Re: récupérer l'abscisse curviligne

Posté : dim. 25 nov. 2012, 15:33
par GM
Bonjour,
je crois que tu n'as bien étudié mes 4 derniers exemples. ;-)
Dans la mesure où tu as un path p, quelle que soit la façon dont il a été défini, la commande suivante devrait te donner la distance curviligne entre les points de p de time 0 et de time t.

Code : Tout sélectionner

arclength(subpath(p,0,t))
.

Re: récupérer l'abscisse curviligne

Posté : dim. 25 nov. 2012, 15:42
par zariski
pardonne moi Maître :D je viens juste de le trouver après de multiples essais infructueux !!!!
Et tu viens de me confirmer le truc...
MERCI

Re: récupérer l'abscisse curviligne

Posté : dim. 25 nov. 2012, 15:59
par zariski
impeccable !
Je récupère l'abscisse et ordonnée du point de time T par : point(p,T).x et point(p,T) .
Pfiouuu dur dur !!!!

Re: récupérer l'abscisse curviligne

Posté : dim. 25 nov. 2012, 16:05
par zariski
Il fallait lire : point(p,T).x et point(p,T).y
Par contre sur ma lancée j'en ai oublié la façon de récupérer le paramètre "t" de la courbe (x(t), y(t)) ... Mais ça doit être impossible ...

Re: récupérer l'abscisse curviligne

Posté : dim. 25 nov. 2012, 16:18
par GM
zariski a écrit :Il fallait lire : point(p,T).x et point(p,T).y

Je rappelle que tu as un bouton pour éditer un message... quand tu veux ajouter quelque chose... tant que personne n'a répondu.
Image

zariski a écrit :Par contre sur ma lancée j'en ai oublié la façon de récupérer le paramètre "t" de la courbe (x(t), y(t)) ... Mais ça doit être impossible ...

Peux-tu reformuler la demande en donnant un exemple concret ?

Re: récupérer l'abscisse curviligne

Posté : dim. 25 nov. 2012, 17:01
par zariski
voici un exemple où je souhaiterais connaitre le paramètre "t" au point de time T=120,de coordonnées cartésiennes (2.64,0.24), en supposant ignorer totalement l'équation de la courbe.
Ici, bien sûr je connais la solution : t = 1,2

Figure asymptote 38f22b91a9acec7ab45310d1cecc9d66
*** 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. import graph;
  2. usepackage("amsmath,amsfonts,amssymb");
  3.  
  4. unitsize(2cm,4cm);
  5.  
  6. real x(real t) {return t^2+t;}
  7. real y(real t) {return t^2-t;}
  8.  
  9. int n=150; // nombre de points
  10. path p=graph(x,y,0,1.5,n);
  11.  
  12. // graduations des axes
  13. DefaultHead=HookHead;
  14. xaxis("$x$",xmin=-0.25,xmax=4,Ticks(NoZero,Step=1,Size=1),Arrow());
  15. yaxis("$y$",ymin=-0.5,ymax=1,Ticks(NoZero,Step=1,Size=1),Arrow());
  16.  
  17. // équation de la courbe
  18. label(scale(0.6)*"$x(t)=t^2+t$",(2,1),E,blue);
  19. label(scale(0.6)*"$y(t)=t^2-t$",(2,0.9),E,blue);
  20. label(scale(0.6)*"$0\leqslant t \leqslant 1.5$",(3,0.95),E,blue);
  21.  
  22. // tracé de la courbe
  23. draw(p,bp+blue);
  24.  
  25. //placement d'un point particulier
  26. draw(point(p,120),3bp+red);
  27. label(scale(0.6)*"120",point(p,120),S,red); // on place le time du point
  28.  
  29. label(scale(0.6)*format("%.6f",arclength(subpath(p,0,120))),point(p,120),N); //on place l'abscisse curviligne du point
  30. label(scale(0.6)*(format("(%.4f",point(p,120).x)+format(" ; %.4f)",point(p,120).y)),point(p,120),W);
  31.  
  32. label(scale(0.6)*"en noir : l'abscisse curviligne du point",(4,0.4),E);
  33. label(scale(0.6)*"en rouge : le time du point",(4,0.3),E,red);
  34.  
  35.  
  36. label(scale(0.6)*format("size(p)= %i",size(p)),(3,-0.4),E);
  37. label(scale(0.6)*format("length(p)= %i",length(p)),(3,-0.55),E);
  38. label(scale(0.6)*format("arclength(p)= %4f",arclength(p)),(3,-0.7),E);
  39. label(scale(0.6)*format("arclength(p)/n= %4f",arclength(p)/n),(3,-0.85),E);


J'en profite pour savoir ce que donne: pair accel(path p, int t, int sign=0); et real radius(path p, real t);
Perso j'ai compris que le premier donnait un vecteur accélération alors que le second donnait un rayon de courbure. Problème, appliqués à mon exemple au point (T=120) j'obtiens des trucs farfelus ....

Re: récupérer l'abscisse curviligne

Posté : dim. 25 nov. 2012, 18:21
par GM
zariski a écrit :... en supposant ignorer totalement l'équation de la courbe.

Je crois que tu n'as pas réalisé que pour une courbe donnée, il y a une infinité de représentations paramétriques.
Comment veux-tu qu'Asymptote fasse un choix pour toi... et tombe sur la représentation paramétrique que tu as choisie ????

Bien sûr que tu ne peux pas ignorer tes définitions de x et y... et bien sûr que c'est en travaillant sur elles (boucle de recherche) que tu peux espérer trouver le paramètre t correspondant à un couple (x;y).

Re: récupérer l'abscisse curviligne

Posté : dim. 25 nov. 2012, 18:24
par zariski
ok je m'en doutais ... ma question était ridicule !
et pour radius et accel ?