Balistique angle
roidumonde
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Hello,
Je suis en développement d'un jeu (petit jeu avec des tank en monde ouvert, avec unity).
J'ai finit la modélisation, et j'en suis au code. La tourelle peut pivoter vers la gauche et la droite, et le canon vers le haut et le bas. (comme tous les tank)
La vitesse initiale du missile est tout les temps la mème,
Je cherche la formule pour trouver l'angle alpha (angle vers le haut depuis l'horizontale).
On a donc
g = 10
y0=position y du tank
y1=position y du joueur
delta x = distance horizontale entre le tank et le joueur
Quelqun aurait la formule
alpha = ...
Merci d'avance
Je suis en développement d'un jeu (petit jeu avec des tank en monde ouvert, avec unity).
J'ai finit la modélisation, et j'en suis au code. La tourelle peut pivoter vers la gauche et la droite, et le canon vers le haut et le bas. (comme tous les tank)
La vitesse initiale du missile est tout les temps la mème,
Je cherche la formule pour trouver l'angle alpha (angle vers le haut depuis l'horizontale).
On a donc
g = 10
y0=position y du tank
y1=position y du joueur
delta x = distance horizontale entre le tank et le joueur
Quelqun aurait la formule
alpha = ...
Merci d'avance
A voir également:
- Image qui change selon l'angle
- Change dns - Guide
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
- Légender une image - Guide
2 réponses
Bonsoir
ça n'est pas du C#, c'est de la physique.
Si on néglige les frottements de l'air (et y'en a....), le déplacement de ton missile se décomposent en 2:
Ton angle va déterminer vx0 et vz0 en fonction de V0, (cos Alpha pour l'un et sin Alpha pour l'autre).
Pour savoir à quelle distance horizontale va le projectile, il faut calculer quand, dans la descente, il touche le sol.
Si tu veux faire une petite animation, il suffit de faire une boucle qui calcule le x et le z en fonction du temps, et tu affiches les points les un après les autres.
ça n'est pas du C#, c'est de la physique.
Si on néglige les frottements de l'air (et y'en a....), le déplacement de ton missile se décomposent en 2:
- le mouvement horizontal est rectiligne uniforme, x = vx*t + x0
- le mouvement vertical est uniformément accéléré (par -g) en montant, puis quand la vitesse atteint 0, uniformément accéléré (par g) vers le bas, vz = a*t + vz0 (a vaut g ou -g) et z = 1/2 * a * t * t +vz0 * t + z0.
Ton angle va déterminer vx0 et vz0 en fonction de V0, (cos Alpha pour l'un et sin Alpha pour l'autre).
Pour savoir à quelle distance horizontale va le projectile, il faut calculer quand, dans la descente, il touche le sol.
Si tu veux faire une petite animation, il suffit de faire une boucle qui calcule le x et le z en fonction du temps, et tu affiches les points les un après les autres.