CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Simulation balistique

Caudheur
Caudheur
Niveau 8
07 avril 2012 à 14:38:14

Salut à tous !

Mes lacunes en maths et physique mécanique me rattrapent :peur:

J'aimerais faire une simulation balistique :
on a un point de départ, un point d'arrivé, et un coefficient gravitationnel.
J'aimerais qu'à partir de ces 3 variables on puisse définir précisément le déplacement horizontal et vertical d'un projectile pour qu'il atteigne sa destination en formant une parabole (mais sans utiliser l'équation d'une parabole pour autant).

Pour résumer : comment trouver l'angle de tir pour que le projectile atteigne un point donné ?

Merci d'avance pour votre aide !

dragone169
dragone169
Niveau 8
07 avril 2012 à 15:08:49

Il existe diverse façon pour y arriver, les relations de Pythagore peuvent aider, mais ceci est la technique la plus utilisé: http://www.siteduzero.com/tutoriel-3-35272-les-sauts-2d-en-c.html

Caudheur
Caudheur
Niveau 8
07 avril 2012 à 15:42:03

Merci pour le lien et le conseil !
Cependant j'aimerais éviter les paraboles (car je compte par la suite ajouter des éléments comme du vent, des variations de gravité...).

Je vais regarder du côté de Pythagore alors.

[Edelweiss8]
[Edelweiss8]
Niveau 6
07 avril 2012 à 16:02:11

Salut, j'ai eu le même problème que toi, je ne peux que te conseiller ce pdf très (trop?) complet sur tout ce qui est tir balistique :

http://www.serge-etienne.fr/textes/Balistique%20trajectoire%20et%20projectile.pdf

Regarde à partir de la page 21.

Pour mon jeu j'ai fais comme ça :

nextX = fabs(m / k * [joueur1 vInit] * cos([joueur1 angle])*(1- pow(M_E, -k/m*t)));
nextX += (joueur1.position.x + joueur1.canon.boundingBox.size.width) * 1.05;

nextY = m/k*([joueur1 vInit] * sin([joueur1 angle]) + m/k*g)*(1- pow(M_E, -k/m*t)) - m/k*g*t;
nextY += (joueur1.position.y + joueur1.canon.boundingBox.size.height) * 1.075;

où :

m = masse du projectile (constante égale à 0.02 dans mon cas)
k = force du vent (variable entre -5 (vent de face) et +5 (vent de dos)
[joueur 1 vInit] = vitesse initial du projectile
[joueur 1 angle] = angle du canon
t = temps

J'espère avoir pus t'aider, si tu as d'autres question n'hésite pas :ok:

Caudheur
Caudheur
Niveau 8
07 avril 2012 à 16:35:05

Whoa, merci beaucoup Edelweiss ! C'est vraiment gentil de partager, je regarde ça de suite :-)

Twoposphewe
Twoposphewe
Niveau 10
07 avril 2012 à 16:40:16

utilise les produits vectoriels :ok:
Ce que tu décris là c'est de la cinématique.

Twoposphewe
Twoposphewe
Niveau 10
07 avril 2012 à 16:42:22

oublie ce que j'ai dit au sujet de la cinématique.

Caudheur
Caudheur
Niveau 8
07 avril 2012 à 16:53:05

Twoposphere : je ne sais pas ce que sont les produits vectoriels (je vous avez bien dit que j'avais des lacunes en maths !)

Edelweiss :

J'essaye d'appliquer la formule en faisant pour l'instant abstraction du vent. J'obtiens donc :

double nextX, nextY;

nextX = fabs(M* V * cos(angle)*(1- pow(M_E, 0/M*T)));

nextY = M*(V * sin(angle) + M/GRAVE)*(1- pow(M_E, 0/M*T)) - M*GRAV*M*T;

m_sprite.deplacer(nextX, nextY);

Est ce que je suis dans la bonne voie ?

[Edelweiss8]
[Edelweiss8]
Niveau 6
07 avril 2012 à 17:28:09

Hum elle me semble bizarre, tu as utilisé quelle formule? Et n'oublie pas d'ajouter la position initiale du projectile, sinon ça ne marchera pas

Twoposphewe
Twoposphewe
Niveau 10
07 avril 2012 à 18:42:16

tu as des lacunes en math ok mais est-ce que tu étudies l'algèbre? moi c'est ce que j'avais compris :hap:

Dans ce cas un produit vectoriel c'est simple, c'est le calcul d'un ou plusieurs vecteurs donnés sur un plan en R²(x,y) ou R^3 (x,y,z).

Mais je pense que c'est inutile vu que edelweiss t'a donné une bonne solution.

Caudheur
Caudheur
Niveau 8
07 avril 2012 à 18:59:55

Bon, j'ai un révélation à vous faire...
En fait, je fais de études... (roulement de tambour) littéraires.

Donc les maths, disons que je les ai arrêtées à mon grand regret en seconde !

Je vais essayer de travailler plus ta solution Edelweiss :)

dragone169
dragone169
Niveau 8
07 avril 2012 à 19:28:52

Effectivement, la méthode de Edelweiss semble être pour ton cas, la plus approprié. Cependant, sache qu'il reste tout de même possible de mettre certains effets de vent et de mettre des variations de gravité,avec un peu de logistique,sur une parabole.

Je te souhaite bonne chance et à plus tard ! :ok:

Twoposphewe
Twoposphewe
Niveau 10
07 avril 2012 à 19:42:28

Caudheur
Posté le 7 avril 2012 à 18:59:55
Bon, j'ai un révélation à vous faire...
En fait, je fais de études... (roulement de tambour) littéraires.

:rire:
C'est pas grave voyons (je veux dire que tu sois pas math pas que tu fasses des études littéraires hein :hap: )

Tant que tu trouves le temps à apprendre des méthodes algébriques en plus de tes études :hap:

Mais tu n'en auras pas besoin si tu veux développer des jeux disons, "basique" :hap:

Dans tous les cas comme sur ce forum internet est là pour te renseigner :ok:

et moi non plus tu sais je suis en première année et j'ai déjà d'énorme difficulté je suis dépassé par tout le monde en classe alors j'essaye de me rattraper du mieux que je peux parceque j'ai jamais été bon en math au lycée :hap:

[Edelweiss8]
[Edelweiss8]
Niveau 6
07 avril 2012 à 19:46:49

J'ai pas mal de temps libre la semaine qui viens, n'hésite pas à me pm si tu as besoin d'aide.

Par contre si tu n'es pas spécialement callé en math, crois moi que tu vas mouliner en programmation, surtout s'il s'agit de jeux.

Twoposphewe
Twoposphewe
Niveau 10
07 avril 2012 à 19:48:42

bah non pourquoi tu dis ça? il y a des gens qui y arrivent malgré tout avec des connaissances basiques :hap:

Caudheur
Caudheur
Niveau 8
07 avril 2012 à 19:57:18

Merci à vous trois ! Votre aide me fait plaisir.
Pour les maths et la prog, j'ai vite vu que mes lacunes allaient me plomber.
Parce que le jeux de cartes ou les puzzle games c'est sympa au début, mais je me suis vite tourné vers les jeux qui demandent un minimum de moteur physique (et c'est là que j'ai compris ma douleur :-p )

C'est vraiment gentil Edelweiss, il est bien possible que je te pose quelques questions au fil de mes essais.
(en échange si t'as un dissert de philo/litté à faire je peux t'aider :-) )

Twoposphewe
Twoposphewe
Niveau 10
07 avril 2012 à 20:02:29

bah dans ce cas justement commence par apprendre les produits vectoriel, c'est très important pour programmer des ou sur des moteurs graphiques :ok:

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware