Accueil > Forum > > > > Tir balistique
Tir balistique
lundi 1 septembre 2008 à 13:38:29 |
Tir balistique

Themorgoth
|
Bien le bonjour  Dans le cadre d'une étude sur la programmation en C# je dois réaliser un logiciel représentant un tir balistique. Ce dernier se passe dans un plan à 2 dimension (axe X et Y) et le frotement de l'air est à négliger. Suite à quelques recherches il s'est avéré que l'utilisation de la cinématique (physique) était nécessaire. Cependant, le nombre de formules indigestes et autres documents trouvé dans des livres de math ou sur le net font que je bloque complètement sur cette partie "math" du programme  . J'ai plus que de la peine à comprendre tout ça de façon autodidacte. Je recherche donc toute aide disponible. Site internet (des bon hein ^^), qqn conaissant bien le sujet, livre, bref... nimporte quoi qui me permettrait de saisir un peu mieux tout ça.  Merci d'avance!
|
|
lundi 1 septembre 2008 à 14:04:34 |
Re : Tir balistique

Julien237
|
Il y a mille et une manières de procéder, mais dis en un peu plus sur ton problème : Tu connais l'angle et l'impulsion et tu dois trouver la trajectoire ? Le point d'impact ? Ou bien on te demande l'angle pour arriver au point d'impact donné ?
Sinon le plus simple à mon goût n'est pas d'utiliser de la cinématique physique, mais plutôt de la géométrie, tu sais que ton tir va faire une parabole de type -ax^2 + bx + c = 0. Les correspondances sont faciles : Racines : Point de tir et point d'impact Tangeante au point de tir : Angle de tir On sait aussi que le maximum est au milieu des deux racines et que son ordonnée sera lorsque toute l'énergie cinétique verticale sera transformée en énergie potentielle gravifique, i.e. : mgh = 1/2m(v0)^2 * sin(alpha) etc... Avec ce genre de raisonnement, on trouve vite toutes les inconnues quel que soit le problème demandé...
Julien.
|
|
lundi 1 septembre 2008 à 14:06:27 |
Re : Tir balistique

Julien237
|
Oups une erreur s'est glissée, l'énergie cinétique sur la projection verticale est bien sûr 1/2m(v0 * sin(alpha))^2
Julien.
|
|
lundi 1 septembre 2008 à 16:27:54 |
Re : Tir balistique

Themorgoth
|
Salut, Tout dabord merci pour ta réponse.
Ensuite, l'angle en (degré) et la vitesse en (m/s) sont entrés par l'utilisateur, il me faut donc juste simuler ce tir "graphiquement" en déssinant un point rouge à chaque nouveaux points calculés.
Mais, c'est une méthode interressante, j'avais pas envisagé ça sous cet angle. Mais dans les contraintes on est obligé d'utiliser une méthode physique -_-'
|
|
lundi 1 septembre 2008 à 19:49:28 |
Re : Tir balistique

Julien237
|
Ah oui, Alors tu pourrais peut-être procéder par intégration sur des pas de temps ? Désignons la dérivée par rapport au temps par '. Si la position (vecteur) est x, nous avons La vitesse = x' L'accélération = x''
Nommons x0, v0, a0 la position, la vitesse et l'accélération à l'instant précédent, et x1, v1, a1, la position, la vitesse et l'accélération à ce moment.
La seule force agissant sur le projectile est la gravité : mg. Par Newton, on sait que F = ma, nous avons donc mg = ma, et donc a = g. L'accélération est donc constante...
On commence à t = 0, on trouve facilement x0 = point de départ v0 = (vitesse de départ * cos alpha) selon x et (vitesse de départ * sin alpha) selon y a0 = g...
Ensuite on va avancer par des pas des temps dt avec une boucle du style double dt = 0.0001; //Plus le pas de temps est petit, meilleure est l'intégration double tfin = 20; //Durée de la simulation for (double t = 0; t < tfin; t += dt) { //Calcul de x1, v1 x0 = x1; v0 = v1; //a0 = a1; inutile car accélération constante. }
Le calcul de x1, v1 se fait par intégration, en supposant la vitesse constante dans l'interval de temps dt considéré.
Théoriquement, nous avons :
v(t) = x'(t) = lim (dt -> 0) (x(t+dt) - x(t)) /dt //Définition de la dérivée
Ici on prends dt très petit, sans qu'il tende réellement vers 0, c'est une légère approximation. Ce qui donne
dt * v = x1 - x0
Donc x1 = x0 + dt * v, où v est la vitesse moyenne dans l'interval de temps
Tout à fait similairement pour v, on a
v1 = v0 + dt * a0 = v0 + dt * g
Donc au final on a :
double dt = 0.0001; //Plus le pas de temps est petit, meilleure est l'intégration double tfin = 20; //Durée de la simulation for (double t = 0; t < tfin; t += dt) { //Calcul de x1, v1 v1 = v0 + dt * g; x1 = x0 + dt * (v1 + v0) / 2 //A chaque pas d'itérations, afficher ici le point x0 comme point de trajectoire // du projectile en t x0 = x1; v0 = v1; //a0 = a1; inutile car accélération constante. }
Bien sûr tout ceci est en notation vectorielle, je te conseille de faire une petite structure Vector avec deux champs x et y ainsi que les opérations nécessaires...
|
|
lundi 3 août 2009 à 20:53:07 |
Re : Tir balistique

erikiller
|
bonjour,
je suis un peu hors sujet mais j'aimerais savoir si tu dois toucher une cible ???
si oui comment fait tu pour la generer
merci
rkl
|
|
lundi 10 août 2009 à 14:22:26 |
Re : Tir balistique

kaboum
|
Il suffit de comparer les vecteurs des deux objets après chaque déplacement
de l'objet .
|
|
vendredi 18 septembre 2009 à 16:19:27 |
Re : Tir balistique

kaboum
|
bonjour
je me demande pourquoi tu definis le temps de l'animation (du calcul)
alors qu'en faite il est forcement variable dans ce cas la ?
la fin du calcul n'est elle pas plutot quand le parametre du vecteur representant
l'altitude de son objet touche ce qu il definit comme le sol ? si y <=0 ?
kaboum
|
|
Cette discussion est classée dans : math, tir, balistique
Répondre à ce message
Sujets en rapport avec ce message
Utiliser les fonctions math de Matlab avec C# [ par yazmeh ]
Salut,je veux savoir si c'est possible d'utiliser les fonctions mathématiques (tel que dérivé, ...) de Matlab avec un programme écrit en C#.Merci
Débutant C#, recherche fonction math MOD [ par tscrosh2 ]
BonjourJe suis débutant en C# ; j'aimerai calculer le MOD de 2 valeurs. Est ce que qn peut me donner la syntaxe correcte de cette fonction, je ne la t
arrondir un nombre [ par BOUDDINE ]
bonjour tout le mondej'ai un nombre sur un textbox et je veux l'arrondir mais j'y arrive pasj'utilise Math.Round(textBox1.text,2);"il me retourne les
Tracer une fonction [ par luudo ]
Bonjour , je souhaiterais tracer la fonction suivante :(0.25 + 0.22508*Math.Sin(((Math.PI/4))*x)+0.0932*Math.Cos(((Math.PI/4))*x))elle devrait donner
Remplir un tableau (dans une boucle) [ par luudo ]
Bonjour , je souhaite insérer les valeurs obtenues dans ma boucle dans un tableau, mais je n'arrive pas a remplir ce tab
Re Sinus [ par CicinhoRaul ]
Je suis désolé de vous redéranger mais je bloque toujours sur la gestion du tracé d'un sinus sur une fenetre.En effet, j'arrive a tracer cette fonctio
Fenetre [ par CicinhoRaul ]
Salut à tous,je voudrais demander à l'administrateur s'il peut supprimé la question "Graphique C"" car il n'y a rien d'écrit dessus. Mon problème don
Comment afficher les coordonées de trois sinusoides [ par damsdu64 ]
Bonjour tout le monde, je suis étudiant et j'ai besoin de vos conseils étant novice dans le C#. Mon objectif est de créer un utilitaire qui enverra d
Collision avec un segment [ par Kite37 ]
Bonjour,Dans le cadre de développement d'un mini jeu, je doit faire régulièrement des vérifications de collisions entre des cercles ou des points et d
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|