SimuLance est un simulateur de lancer d'objet.
Ce simulateur néglige les frottements de l'air (car actuellement je ne sais pas encore comment mettre cette option en place). Il est fort possible qu'il existe une meilleure méthode pour créer un simulateur du même genre, je l'ai fait à partir de mes connaissances actuelles (je viens juste d'avoir le cours: il y a une semaine).
Sinon, j'espère que vous vous amuserez bien.
L'emplacement, la direction et la norme du lancer peuvent être modifiés à la souris.
A propos un bug a été repéré lorsque la norme du vecteur vitesse est modifié à la souris et vaut à peu près 0 ou 180°. Je ne sais actuellement pas comment corriger ce bug que je pense mineur vu qu'il n'influe pas sur la fonctionnement du programme.
Bons essais...
Source / Exemple :
// Cf. ZIP
Conclusion :
Tout commentaires, avis, questions... sont les bienvenus...
21 déc. 2010 à 18:29
Il est vrai que l'utilisation de la formule "Py(t) = Py(0) + Vy(0)*t + 1/2*g*t" pour calculer la vitesse en y est bien plus judicieuse que le recours à l'énergie cinétique.
Je ne l'avais pas encore vue lors de l'implémentation de ce programme mais c'est vrai que c'est une méthode beaucoup plus juste, efficace et rapide que celle implémentée dans le programme (la preuve, les différences entre les deux courbes obtenues si l'on implémente l'une ou l'autre des méthode).
A bientôt...
17 janv. 2008 à 19:16
Prenons la formule py(t)=py(0)+t*vy(0)+gt^2*t^2
Lorsque t augmente, py(0) est constant, t*vy(0) augmente(puisque vy(0)>0) et gt^2*t^2 augmente aussi, donc vy(t) ne fait qu'augmenter, ce qui veut dire que le solide ne vas pas décrire de cloche mais va s'élever dans les airs.
Après si vous n'êtes pas convaincus il faut intégrer deux fois l'accélération qui n'est autre que la dérivée seconde de la position, afin d'obtenir cette expression; voir les cours de terminale S sur les équations horaires.
dans ton cas, il te suffit de faire une fonction Y(float x, float V){return Y0+V*x-0.5*g*x² ;} voilà
ensuite tu fait ta boucle normal et tu affiche à chaque fois le solide aux coordonnées (X, Y(X)).
17 janv. 2008 à 17:33
laquelle de ces deux expressions est vraie (est à utiliser)?
py(t) = py(0) + t.vy(0) + g.t^2/2
ou
Py(t) = Py(0) + Vy(0)*t - 0.5g*t^2
la seule différence est un -.
Merci d'avance...
A bientôt...
29 déc. 2007 à 00:00
Py(t) = Py(0) + Vy(0)*t - 0.5g*t^2
en effet selon la formule de ACX01B le pauvre solide ne redescendrait pas puisque quand t augmente la position de Py(t) ne peut qu'augmenter.
Joli prog A++
21 déc. 2007 à 19:47
py(t) = py(0) + t.vy(0) + g.t^2/2
py(t) c'est le position en y de l'objet à l'instant t
oui ton programme est faut car tu n'as pas utilisé cette formule (qui est la seule qui soit bonne) mais puisque ton pas de discrétisation est petit ça ne se voit pas
après il faut gérer le rebond là ça se complique hé oui
tu l'auras deviné ils faut résoudre l'équation py(x) = 0
et changer le signe de vy(x) ainsi qu'appliquer une petit coefficient de restitution (inférieur à 1)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.