Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
Trajectoire de tir
patate007 le 16/01/2011 à 13:07
Bonjour à tous !
J'aimerai bien savoir comment dessiner la trajectoire d'un tir pour faire par exemple un worms like ou encore un basket.
J'immagine que ça se fait avec une fonction du genre
A*[racine](B-(X+C)^2)-A où A serai l'angle de tir, B la puissance et C l'origine du tir.
Le problème c'est que je ne sais pas comment faire pour afficher la fonction au milieu du programme. Et si vous avez une autre manière de faire, je suis preneur

Merci

linkakro le 16/01/2011 à 17:23
Je ne connaît pas les formules physiques, mais je peux en pratiquer des affichages.
-le mode paramétré.
Chaque fonction prévoie deux expressions : une en abscisse, une en ordonnée (en général l'abscisse est T).
La variable est T. Tout fonctionne comme le graphe cartésien excepté T qui fait comme une table.
Cela trace une courbe entière.
-Avec des pt-on ou autre
Les formules directement dans le programme avec chaque expression à sa place dans le pt-on. Et tu gères toi-même la variation de "T" ; tu choisis ta variable et son évolution plus facilement qu'avec le mode paramétré ; et un seul point à la fois si tu veux.Wirekey le 16/01/2011 à 22:10
Allez trajectoire parabolique :
On se place dans un repére orthonormé (Oxy) ( y acendant). vect(ex ) et vect(ey ) sont des vecteur unitaire.
On considérera dans un premier temps le cas sans frottement fluide.
Systeme : Point matériel M de masse m
Référentiel : Supposé galiléen
Forces :
vect(P)= -m*g vect(ex ); (g = 9.81 N.kg^-1)
PFD : (3éme loi de Newton) : vect(a) désigne le vecteur accélération (dérivé seconde de la position)
m*vect(a) = - m*g*vect(ey )
ssi vect(a) = - g vect(ey )
On projette le PFD sur vect(ex ) :
d²x/dt² = 0 => dx/dt = Cste = dx/dt(t=0) = Vo*cos(alpha). Ou (vient d'un vecteur Vo : vecteur vitesse initiale) et alpha angle de tire.
PFD sur vect(ey ) :
d²y/dt² = -g => dy/dt = -gt + constante = vo*sin(alpha)-gt
On a donc
x(t) = Vo*cos(alpha)*t
y(t)=-(1/2)gt²+Vo*sin(alpha)*t
(En intégrant le tout , rigoureusement il y a des constantes en plus ici égale à zero...)
On élimine t :
t = x/(Vo*cos(alpha)
d'ou : Après simplification ...
_____________________________________________________
| y(x ) = - (g*x²)/(2*Vo²*cos²(alpha))+tan(alpha)*x |
_____________________________________________________
Si ça intéresse quelqu'un je peux refaire le tout sur feuille xD
Après pour tracer un genre de truc comme :
Code
for(x,0,94
- (g*x²)/(2*Vo²*cos²(alpha))+tan(alpha)*x -> y
plot-On(x,y
patate007 le 17/01/2011 à 21:03
Merci à vous deux. Je suis désolé, je peus pas m'en occuper pour l'instant; je m'y pencherai dessu un peu plus tard... Encore merci

Persalteas le 18/01/2011 à 21:31
je connais un jeu de worms, à l'occasion je regarderai.linkakro le 19/01/2011 à 00:08
persalteas, n'est-ce pas toi qui avait créé un prog où une balle rebondi en cloche ? Par contre ce n'était peut-être pas parabolique.AlexRider38 le 19/01/2011 à 13:40
Vous pouvez utiliser ce programme aussi (il ne prend pas la résistance de l'air en compte):
ICI Persalteas le 20/01/2011 à 21:49
c'était alex, c'était pas moi.
(mais tu sais, c'est pas parce que je fais de la pub pour ton guitar hero que tu dois me faire de la pub en retour... je fais ça gratos.)Wirekey le 22/01/2011 à 12:14
Pour la "résistance de l'air" Il suffit de rajouter dans les forces une forces de frottement fluide ( f= -a* vect(v)) ou vect(v ) represente le vecteur vitesseAlexRider38 le 23/01/2011 à 14:03
et tu le rajoute où?Wirekey le 23/01/2011 à 14:08
J'vous le fait sur feuille et j'vous scan le tout.patate007 le 13/02/2011 à 16:59
Hey ! C'est au poil Wirekey !
Merci beaucoup à toi

J'avoue n'utiliser que la formule sans frotement fluide, l'autre complique de trop

Merci =)
azerty1 le 01/05/2011 à 23:35
Sinon pour les trajectoires, il y a beaucoup plus simple; cela offre logiquement une courbe parabolique, ensuite il faut jouer avec les valeurs: Un fonction polynôme du second degré, du type -ax²+bx+c , dans par exemple un jeu de tir, en demandant la valeur a, on augmente l'amplitude de la parabole, ce sont donc des fonctions très simples d'utilisations. ensuite pour savoir si la courbe a touché l'objet visé, 2solutions: Pxl-Test, ou calcul d'image par la fonction utlisé: par exemple si le point visé est sur l'axe des abscisses, l'image du x en question doit être proche de 0, ect...
Désolé si je n'ais pas été très clair... :Slinkakro le 02/05/2011 à 00:47
En effet : Les trajectoires de chute libre (sans frottements) sont toutes des paraboles symétriques, et sont toutes des polynomes du second degré.
La seule question est l'expression des coefficient quand on veux que ça dépende de valeurs physiques comme le poids.
Donc
Y=AX^2+BX+C suffit à tracer une parabole de chute libre, mais le tracé n'est pas sur une base réelle. (notez que A est négatif)
ps:

oui oui, j'ai progressé dans mon programme de physique depuis la dernière fois !
Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.