Balistique angle
roidumonde
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
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
- Reduire taille image - Guide
- Légende image word - Guide
- Acronis true image gratuit - Télécharger - Sauvegarde
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.