Calcul deceleration

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
seal3
Messages: 3
Enregistré le: 27 Déc 2005, 15:14

Calcul deceleration

par seal3 » 27 Déc 2005, 15:47

Salut, je suis nouveau sur ce forum.

Alors voila, j'ai un probleme sur un programme informatique qui necessite quelques maths... Pour info j'ai 26 ans, et impossible de retrouver ce que j'avais apris au lycée.

Dans mon programme, les unités de temps sont en frame, les positions sont en pixels. Les vitesses sont donc en pixels/frame... Cela ne change rien au probleme de toute facon.

Il s'agit d'un objet ayant une vitesse initiale V0 de 100pixels/frame. Pour le ralentir, à chaque frame sa vitesse devient : v=v/ds avec ds constant et ~=1.03.

J'ai besoin d'etablir une equation me permettant de connaitre sa position à la frame 15 par ex. Ou encore de savoir combien doit etre le ds pour que sa vitesse soit de vX à la frame 60.

Je ne parviens pas a ecrire l'acceleration puisque celle-ci depend de la vitesse et donc du temps.

Est-ce que quelqu'un peut relever le defit de m'expliquer ?

Merci à tous.



Fract83
Membre Relatif
Messages: 110
Enregistré le: 25 Nov 2005, 13:35

par Fract83 » 27 Déc 2005, 18:15

Hello,

> "J'ai besoin d'etablir une equation me permettant de connaitre sa position à la frame 15 par ex. "

La, je suis capable de t'aider un peu...

Je note v0 la vitesse initiale de ton objet (en pixels par frame), que je considere etre la vitesse de l'objet a la frame 0 (pure convention d'ecriture). Je note vi la vitesse de ton objet a la frame i.

Avec mes notations, tu as v1 = v0/ds qui est la vitesse de ton objet a la frame 1. Si tu continues, tu as v2 = v1/ds = v0/(ds^2), v3 = v2/ds = v0/(ds^3), etc... D'une maniere generale, tu as vi = v0/(ds^i) (vi est une "suite geometrique").

Par consequent, si tu veux la vitesse de ton object a la frame 15, il suffit de calculer v15 = v0/(ds^15) = 64 pixels par frame avec tes donnees.

C'est clair ce que j'ai ecrit ? Pour la suite, il faut que ca le soit... Au besoin, cherche "suites geometriques" sur Google pour te rafraichir la memoire...


> "Ou encore de savoir combien doit etre le ds pour que sa vitesse soit de vX à la frame 60."

La, ca se corse un peu...

A partir de la formule vi = v0/(ds^i), si tu connais i et vi (et v0 !), tu es capable de determiner ds... Je te donne la formule brute de decoffrage :

ds = (v0/vi)^(1/i)

Ainsi, pour ton exemple, si tu veux trouver ds tel que v60 = vX, tu as : ds = (v0/vX)^(1/60).

Si tu veux la demonstration de la formule precedente, je peux te la donner (il n'y a vraimment rien de complique), mais il va falloir te souvenir de ce qu'est un logarithme et une exponentielle :we: !

N'hesite pas a reposter !

Bonne soiree.

seal3
Messages: 3
Enregistré le: 27 Déc 2005, 15:14

par seal3 » 27 Déc 2005, 19:00

haaaaaaaa, c'est parfaitement clair :we: je te remercie infiniment. c'etait le calcul de V en fonction du temps (frame) que je ne suis pas arrivé à ecrire. Pour te dire j'était partit dans des calculs d'integrales....

Par contre, pour la position en pixel en fonction du temps (coinnaissant ds et V0), est-ce que je doit integrer l'équation de la vitesse ? Ce qui me perturbe c'est que ma vitesse est vraiment altérée par ds à chaque frame (et non pas entre les frames). Un calcul d'integrale me donnera un resultat "naturel" qui n'est pas cadencé par un nombre de frame... Je sais pas si je suis clair. Il faut a tout prix que j'evite de calculer par iteration, cela bouffe trop de ressources. Une idée ?

En tt cas merci beaucoup, j'ai plus mes cours de physique de TS et j'ai completement perdu la mecanique :cry:

Fract83
Membre Relatif
Messages: 110
Enregistré le: 25 Nov 2005, 13:35

par Fract83 » 28 Déc 2005, 10:31

Hello,

> "Une idée ?"

La, pour le coup, je suis largue... :happy2:

Mais dans tous les cas, je pense que tu seras oblige de passe par un calcul a chaque frame... Sinon, comment voudrais-tu faire ? Precalculer les positions, les vitesses et les accelerations ? Pourquoi pas, mais tu perds le temps-reel...

Desole de ne plus pouvoir trop t'aider !

Bonne journee tout de meme.

Dominique Lefebvre
Membre Légendaire
Messages: 8005
Enregistré le: 03 Déc 2005, 12:00

par Dominique Lefebvre » 28 Déc 2005, 10:46

Fract83 a écrit:Hello,

> "Une idée ?"

La, pour le coup, je suis largue... :happy2:

Mais dans tous les cas, je pense que tu seras oblige de passe par un calcul a chaque frame... Sinon, comment voudrais-tu faire ? Precalculer les positions, les vitesses et les accelerations ? Pourquoi pas, mais tu perds le temps-reel...

Desole de ne plus pouvoir trop t'aider !

Bonne journee tout de meme.


Tu as tout à fait raison! Seal3 est dans le cas tout à fait classique d'une simulation numérique. On procède d'habitude comme ça:
- on établit les conditions initiales du phénomène, ici la vitesse initiale, l'abscisse initiale et la décélèration.
- on établit l'équation de mouvement, ce qu'a fait brillement Fract83.
- on remarque qu'on travaille sur du temps discret et pas continu: tu n'as pas le droit de faire du calcul intégral traditionnel (la fonction n'est pas continue et dérivable, pour simplifier).
Donc :
pour la frame i = 0, tu appliques les conditions initiales,
pour la frame i+1, tu appliques ton équation sur les valeurs obtenues en i.

En bref, tu es condamné à faire des itérations sur chaque pas de calcul! Il n'y a pas d'autre moyen simple....

seal3
Messages: 3
Enregistré le: 27 Déc 2005, 15:14

par seal3 » 28 Déc 2005, 14:49

Et bien merci à tous. C'est super instructif :we:


Pour mon probleme, je pense que je vais faire l'inverse, je vais d'abord etablir l'équation et baser mon animation sur la resolution de l'equation en fonction du nombre de frame. Ca me permettra de toujours avoir un resultat juste même avec une simulation.

Merci à tous et bonne fêtes :)

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 23 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite