Accel

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Accel

Messagepar zariski63 » Dimanche 02 Juillet 2017, 19:04

Bonsoir !
Serait il possible de savoir quel lien il y a
entre "accel" et la definition de l acceleration
en mecanique du point.
Je n arrive pas à faire le lien...
Merci
zariski63
Kilo-utilisateur
 
Messages: 222
Inscription: Jeudi 14 Octobre 2010, 08:20
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Accel

Messagepar OG » Lundi 03 Juillet 2017, 11:03

Bonjour

Visiblement ce n'est pas le résultat espéré. C'est lié à la paramétrisation.

O.G.
OG
Modérateur
 
Messages: 2205
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Accel

Messagepar zariski63 » Lundi 03 Juillet 2017, 12:52

Je n ai pas saisi la réponse ...
zariski63
Kilo-utilisateur
 
Messages: 222
Inscription: Jeudi 14 Octobre 2010, 08:20
Statut actuel: Actif et salarié | Enseignant

Re: Accel

Messagepar OG » Lundi 03 Juillet 2017, 13:08

Re

Je pense que la routine calcule bien l'accélération au sens mécanique
du chemin. Mais cela ne correspond pas à l'accélération de ta courbe
paramétrée puisque le chemin est défini par morceaux et paramétré différemment.

O.G.
OG
Modérateur
 
Messages: 2205
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Accel

Messagepar zariski63 » Lundi 03 Juillet 2017, 15:03

En fait c'est presque le bon résultat sauf que le par exemple si
le vecteur accélération de mon exemple est (2 ; 1),
la routine donnera 0.001*(2 ; 1)=(0.002 ; 0.001).
Même sens mais norme différente d'un facteur 0.001 (ici) !
zariski63
Kilo-utilisateur
 
Messages: 222
Inscription: Jeudi 14 Octobre 2010, 08:20
Statut actuel: Actif et salarié | Enseignant

Re: Accel

Messagepar zariski63 » Lundi 03 Juillet 2017, 15:33

Voici un exemple de mon cru ..
Fichiers joints
radius2.pdf
(20.03 Kio) Téléchargé 9 fois
radius2.asy
(7.1 Kio) Téléchargé 4 fois
zariski63
Kilo-utilisateur
 
Messages: 222
Inscription: Jeudi 14 Octobre 2010, 08:20
Statut actuel: Actif et salarié | Enseignant

Re: Accel

Messagepar OG » Mardi 04 Juillet 2017, 08:26

Bonjour

Il faudrait faire plusieurs tests en faisant varier le nombre de points
(par défaut c'est 100) et voir s'il y a une relation... Mais je ne suis
pas sûr qu'il y ait un invariant.

O.G.
OG
Modérateur
 
Messages: 2205
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Accel

Messagepar zariski63 » Mardi 04 Juillet 2017, 08:34

C est tout de même pénible cette doc très succinte, en Anglais de plus ! Bref ça me les brise un peu. Pourtant on peut faire tellement de belles choses avec Asymptote.
zariski63
Kilo-utilisateur
 
Messages: 222
Inscription: Jeudi 14 Octobre 2010, 08:20
Statut actuel: Actif et salarié | Enseignant

Re: Accel

Messagepar OG » Mardi 04 Juillet 2017, 15:49

zariski63 a écrit:C est tout de même pénible cette doc très succinte, en Anglais de plus ! Bref ça me les brise un peu. Pourtant on peut faire tellement de belles choses avec Asymptote.


La documentation succincte et anglais est effectivement un problème récurrent. Il y a une doc de Charles Staats, en anglais dans le style
des doc de Tikz, http://math.uchicago.edu/~cstaats/Charl ... torial.pdf.
J'avais eu quelques velléités (il y a déjà longtemps) de traduire la doc, dans un format style restructuredtext (les doc en Python), mais
j'ai très très vite arrêté (j'ai fait une petite doc numpy, scipy à la place...).
Il y a les forums (francophones et anglophones) pour l'aide. Il y en a toujours qui aiment se casser la tête.

Pour accel, je ne pense pas qu'à la base la routine soit faite pour ce que tu veux. La routine calcule effectivement
une accélération mais paramétrisation différente donne une accélération différente. Cela doit être la même chose
avec le vecteur tangent (non normalisé). Il y a un lien mais cela doit être moins compliqué de faire les calculs à la main...

O.G.
OG
Modérateur
 
Messages: 2205
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Accel

Messagepar OG » Mardi 04 Juillet 2017, 22:39

Bonsoir

J'ai testé plusieurs (de 30 à 800) valeurs de "nombre de points" et affiché le rapport accel.x/accel.y.
Cela "tend" vers le rapport -2, mais l'approximation n'est pas extra. Pour n=102 c'est moins bien que n=100.
Je ne sais pas quel est l'ordre de convergence, mais comme c'est lié au splines cubiques et que l'accélération
est liée à la dérivée d'ordre 2, c'est compréhensible (plus on dérive plus on perd en approximation).
Donc : faire les calculs à côté ou une routine spécifique qui calcule une approximation de l'accélération (ça doit bien
exister quelque part).

O.G.
OG
Modérateur
 
Messages: 2205
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Accel

Messagepar OG » Samedi 08 Juillet 2017, 13:33

Histoire de ne pas perdre la main, j'ai fait un petit graphique à échelle logarithmique (mes étudiants adorent)
de l'erreur de
1) a.x/a.y+2 où a est accel(p,t)
2) dir(p,t)-vecteur tangent unitaire
et en parallèle les courbes des fonctions
3) 1/n^2
4) 1/n^4

pour plusieurs valeurs du nombre de points dans la construction de la courbe paramétrée (graph(f,int n)),
de 10 à 2000, par pas de 5.
Les comportements correspondent à ce que je connais pour l'interpolation d'une fonction par spline cubique, à savoir
un comportement en $C/n^3$ pour la dérivée, $C/n^2$ pour la dérivée seconde. Cela se voit sur le graphique

eaada30e4254ac1ca636551a7ad53194.png

Code: Tout sélectionner
import graph;
size(10cm);

real x(real t) {return t;}
real y(real t) {return 0.5*t^2;}

real f(real t) {return 1/t**2;}
real g(real t) {return 1/t**4;}

scale(Log,Log);

draw(graph(f,10,2000),blue);
draw(graph(g,10,2000),red);

picture tp;

for (int i=10;i<2000;i=i+5)
{
path p=graph(tp,x,y,-2.5,2.5,join=operator ..,i);
real k=3/5*i; // time
pair a=accel(p,k);
pair tg=dir(p,k);
pair tgv=(1,.5)/sqrt(1+.25);
dot(Scale((i,abs(a.y/a.x+2))),green);
dot(Scale((i,abs(abs(tg-tgv)))));
}

xaxis("$x$",1,2000,LeftTicks);
yaxis("$y$",1/10^12,LeftTicks);


O.G.
OG
Modérateur
 
Messages: 2205
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence


Retourner vers Asymptote

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Yahoo [Bot] et 1 invité