Je bute depuis fort longtemps sur le problème suivant en METAPOST: comment connaître le temps du point donné d’un segment placé selon un paramètre métrique? J’ai lu et pratiqué plusieurs manuels (notamment celui de MP et MP by doing) et sites (notamment ce post pourtant explicite de TeX SE et je pense que ma formation trop peu scientifique m’empêche de bien comprendre ce point précis. Dans le MWE suivant (sous ConTEXt mais le code peut être testé sous metapost ou LaTeX en changeant les préambules), je souhaiterais donc pouvoir déterminer le temps de chacun des points de la courbe répartis à intervalles métriques réguliers % !TEX context \starttext \startMPpage path p; p:= (0,0){right} .. (2cm,4cm){up} .. (4cm,5cm){right} .. (5cm,6cm){up} .. (8cm,7cm){right}; draw p; numeric maximum; maximum:= 10*floor((arclength p)/10); marge:= (arclength p - maximum)/2; pair rep[][]; path rep[]; numeric rep[][][]; for i:=0 step 10 until maximum: rep[i]0:= point (i+marge) on p; drawdot rep[i]0 withcolor red withpen pencircle scaled 1; %valeur rep[i]0[1] correspondant au time de rep[i]0 dans p? endfor; \stopMPpage \stoptext |
Est-ce que cela répond à votre question ? % !TEX lualatex \documentclass{standalone} \usepackage{luamplib} \everymplib{beginfig(1);} \everyendmplib{endfig;} \begin{document} \begin{mplibcode} path P; P = (0,0){right} .. (2cm,4cm){up} .. (4cm,5cm){right} .. (5cm,6cm){up} .. (8cm,7cm){right}; draw P withpen pencircle scaled 2pt withcolor .7 white; s = 5mm; for t=0 step s until arclength P: drawdot point arctime t of P of P withpen pencircle scaled 4pt withcolor red; draw (point arctime t of P of P)--(point arctime t of P of P+direction arctime t of P of P); endfor \end{mplibcode} \end{document} % Local Variables: % TeX-engine: luatex % End: Publiée 25 Aoû '21, 23:22 christophe-poulain touhami Cela répond bien à ma question, la fonction Je l’utilise pourtant fréquemment, mais pour désigner un point, je ne la percevais pas comme un opérateur… Serait-il possible de rajouter des parenthèses dans le
(26 Aoû '21, 11:48)
sztruks
|
En bref. C'est comme un objet se déplace le long d'un trajectoire. Sa position géographique à chaque instant t, est donnée par les coordonnées (x(t),y(t)). Mathématiquement. Le chemin Ici, on a
On remarque qu'on a De même, on a Un point M de P, par exemple entre les deux points (4cm,5cm) et (5cm,6cm) correspond à une valeur de t dans l'intervalle [2,3]. Dans chacun des intervalles [0,1], [1,2], [2,3], [3,4] l'application x (respectivement y) peut avoir une relation différente, disons x1 dans [0,1], x2 dans [1,2], etc. Publiée 25 Aoû '21, 17:52 touhami Merci pour cette intéressante explication mathématique. Elle ne suffit toutefois pas pour résoudre mon problème: trouver la formule me donnant accès au temps exact de mes points, car un certain nombre de fonctions reposent sur cette valeur, par exemple tracer des tangentes.
(25 Aoû '21, 19:34)
sztruks
1
@sztruks Si j'ai bien compris la valeur de
(25 Aoû '21, 21:56)
touhami
Je ne suis pas sûr: il me semble, en ce cas, qu’il suffit que marge ait une valeur supérieure à 4 (pt) pour que le point (i+marge) ait un temps supérieur au temps du dernier point de la courbe…
(26 Aoû '21, 12:03)
sztruks
@sztruks. Essayer de tester avec pour voir ce que se passe :
(26 Aoû '21, 13:32)
touhami
|