FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Dessin 2D: largeur de trait
par papydall Hier à 23:31

» Projet de planétarium virtuel.
par Jean Claude Hier à 21:59

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Hier à 20:32

» Animation: Feux de signalisation
par Minibug Hier à 20:28

» Quantité de mémoire utilisée par un exe
par Jack Mar 19 Juin 2018 - 16:39

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 16:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 14:02

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 18:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 14:16

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Calcul de la trajectoire d’un projectile

Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5952
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Calcul de la trajectoire d’un projectile   Mar 3 Nov 2015 - 2:05

A l’honneur de la nouvelle version de Panoramic V0.9.27i1, voici une procédure de calcul de la trajectoire d’un projectile lancé avec un angle A et une vitesse initiale V0.
Ces deux paramètres sont en degré pour l’angle et en mètres par seconde pour la vitesse initiale.

Cette procédure peut servir  dans un programme de jeu de tir par exemple.
Elle peut aussi servir pour trouver refuge dans la corbeille sur votre bureau. silent

Code:

rem ============================================================================
rem   Pour la nouvelle version V 0.9.27i1
rem ============================================================================
rem On lance obliquement, sous un angle A, un projectile avec une vitesse initiale V0.
rem L abscisse X et l ordonnée Y du projectile sont reliées entre elles par l équation :
rem          ___________________________________________________
rem         |                                                   |
rem         |  y = (0-g*x*x)/(2*v0*v0*cos(a)*cos(a)) + x*tan(a) |
rem         |___________________________________________________|
rem
rem Le programme  calcule  et trace les valeurs successives de X et de Y
rem Le calcul s arrête dès que Y < 0.
rem Ce calcul servira également à trouver, parmi les valeurs calculées,
rem les valeurs approchées de la hauteur maximale H atteinte par le projectile
rem et de la porté D (valeur maximale de X).
rem ============================================================================


Calcul_Trajectoire_Projectile(60,100)
Calcul_Trajectoire_Projectile(45,090)
Calcul_Trajectoire_Projectile(30,100)
Calcul_Trajectoire_Projectile(80,120)
Calcul_Trajectoire_Projectile(10,180)
end

rem ============================================================================
' calculs et affichage des coordonnées
SUB Calcul_Trajectoire_Projectile(angle,v0)
    dim_local x0,y0,x,y,h,d,g,t$
    degrees  : ' On travaille avec les degrés comme unité d'angle
    g = 9.81 : ' constante de la pesanteur terrestre
    full_space 0 : x0 = 100: y0 = height(0)-100 : color 0,0,0,0
    2d_pen_color 255,0,0 : 2d_line x0,50,x0,y0 : 2d_poly_to width(0)-100,y0
    2d_pen_color 255,255,0 : 2d_poly_from x0,y0
    while y >= 0 : ' tant que l'ordonnée est positive
          y = (0-g*x*x)/(2*v0*v0*cos(angle)*cos(angle)) + x*tan(angle)
          if y > h then h = y :' hauteur "h" maximale du projectile
          2d_poly_to x0+x,y0-y
          x = x + 1
    end_while
    d = x  : ' portée du projectile
' affichage des données et résultats
    t$ = "La vitesse initiale 'V0' : " + str$(v0) + " m/s." +chr$(13)
    t$ = t$ + "L'angle de tir : " + str$(angle) + " degrés" + chr$(13)
    t$ = t$ + "La hauteur maximale 'h' est de : " + str$(h) + " m." + chr$(13)
    t$ = t$ + "Et la portée 'd' du projectile vaut : " + str$(d) + " m."
    message t$
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

Nombre de messages : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Calcul de la trajectoire d’un projectile   Mar 3 Nov 2015 - 2:16

Très intéressant, Papydall. Je n'en ai pas l'application immédiate, mais je le garderai sous le coude !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 3 Nov 2015 - 2:53

Chouette de la balistique !!!

Par les temps qui courent.... Laughing

Moi aussi je garde cela sous le coude ou plutôt dans les archives Wink

Merci papydall.

( Voilà une idée qui ajouterait une rubrique au Mag.... Embarassed
j' ai compris...je sors...)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5952
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Calcul de la trajectoire d’un projectile   Mar 3 Nov 2015 - 3:27

Somme toute, le bilan est positif : j'ai réussi à intéresser au moins deux Panoramiciens. Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

Nombre de messages : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Calcul de la trajectoire d’un projectile   Mar 3 Nov 2015 - 4:00

Surtout que, vue l'heure, c'est un exploit !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Calcul de la trajectoire d’un projectile   Mar 3 Nov 2015 - 8:52

Je découvre le sujet, mais ça à l'air sympa, alors tests prévus ce soir Wink

Désolé, la nuit moi j'ai besoin de dormir quelques heures avant que le réveil ne sonne à 6H15 ... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Calcul de la trajectoire d’un projectile   Mar 3 Nov 2015 - 21:47

Moi, je dis 2 choses: d'abord bravo, l'équation et le tracé pour calculer la courbe du tir, ça le fait bien.
Mais je dis autre chose aussi, je dis que le jeu du canon qui se joue seul contre l'ordi ou contre un ami, tu n'as plus grand chose à faire pour nous le faire, alors je me dis que soit c'est déjà en cours de programmation, soit tu veux nous faire économiser du temps en évitant que l'on gâche du temps dans un petit jeu rigolo ... Je m'interroge, je m'interroge ....
Bon sérieusement, c'est un bon petit programme qui peut servir aussi bien pour faire un jeu type basquet pour essayer d'envoyer un ballon dans un panier que le jeu des 2 canons dans un terrain accidenté qui doivent essayer de détruire l'autre ou juste de détruire des cibles dans un temps donné.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5952
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Calcul de la trajectoire d’un projectile   Mar 3 Nov 2015 - 22:22

Voici mon brouillon.

Code:

rem ============================================================================
rem  Calcul de la trajectoire d un projectile
rem     Par Papydall
rem ============================================================================
Init()
repeat
   Determiner_Angle_De_Tir()
   Calcul_Trajectoire_Projectile(a,v)
until scancode = 27
terminate
end
rem ============================================================================
SUB Init()
    dim x0,y0,a,v
    full_space 0 : x0 = 100 : y0 = height(0)-200
    picture 10 : full_space 10 : 2d_target_is 10 : color 10,0,0,0
    print_target_is 10 : font_bold 10 : font_color 10,255,0,0 : font_size 10,12
    degrees  : ' On travaille avec les degrés comme unité d'angle
    2d_pen_color 255,000,000 : 2d_line x0,50,x0,y0 : 2d_poly_to width(0)-100,y0
    2d_pen_color 255,255,000 : 2d_pen_width 20
    2d_line x0+10,y0-10,x0+100*cos(45),y0-100*sin(45)
    2d_fill_on

END_SUB
rem ============================================================================
' calculs et affichage des coordonnées
SUB Calcul_Trajectoire_Projectile(angle,v0)
    dim_local x,y,h,d,g,t$

    g = 9.81 : ' constante de la pesanteur terrestre
    2d_pen_width 20 : 2d_pen_color 0,0,0 :2d_line x0+10,y0-10,x0+100*cos(45),y0-100*sin(45)
    2d_pen_color 255,255,0 : 2d_line x0+10,y0-10,x0+100*cos(angle),y0-100*sin(angle)
    
    print_locate x0,y0+025 : print string$(100," ")
    print_locate x0,y0+050 : print string$(100," ")
    print_locate x0,y0+075 : print string$(100," ")
    print_locate x0,y0+100 : print string$(100," ")
    
    
    while y >= 0 : ' tant que l'ordonnée est positive
          y = (0-g*x*x)/(2*v0*v0*cos(angle)*cos(angle)) + x*tan(angle)
          if y > h then h = y :' hauteur "h" maximale du projectile
          Balle(x0+x,y0-y)
          x = x + 1
          if scancode =27 then terminate

    end_while
    d = x  : ' portée du projectile
' affichage des données et résultats

    print_locate x0,y0+025 : print "Vitesse initiale 'V0' : " + str$(v0) + " m/s."
    print_locate x0,y0+050 : print "L'angle de tir : " + str$(int(angle)) + " degrés"
    print_locate x0,y0+075 : print "La hauteur maximale 'h' est de : " + str$(int(h)) + " m."
    print_locate x0,y0+100 : print "Et la portée 'd' du projectile vaut : " + str$(d) + " m."
    
END_SUB
rem ============================================================================
SUB Balle(x,y)
    dim_local n
    2d_pen_width 1
    2d_pen_color 255,0,0 : 2d_line x0,50,x0,y0 : 2d_poly_to width(0)-100,y0
    2d_pen_width 10 : 2d_fill_color 200,250,30 : 2d_pen_color 0,0,0
    2d_circle x,y,20

END_SUB
rem ============================================================================
SUB Determiner_Angle_De_Tir()
    dim_local xm,ym
    repeat : until mouse_x_position(10) > 0
    repeat
       xm = mouse_x_position(10)-x0 : ym = y0 - mouse_y_position(10)
       if xm < 70 then xm = 70
       if ym < 50 then ym = 50
       a = atn(ym/xm) : v = ym/5
       caption 0, " Angle de tir : " + str$(int(a)) + "°" + "  Vitesse initiale : " +str$(v) + "m/s"
       caption 0,caption$(0) + "   <ESC>  pour sortir ...."
       2d_pen_width 20 : 2d_pen_color 0,0,0 : 2d_fill_color 0,0,0
       2d_rectangle x0+10+2,y0-120,x0+120,y0-10
       2d_pen_color 255,255,0 : 2d_line x0+10,y0-10,x0+10+100*cos(a),y0-100*sin(a)
    until mouse_left_up(10) = 1

END_SUB
rem ============================================================================

Déplacez la souris sur l’écran pour déterminer l’angle de tir et la vitesse initiale.
Quand c’est fait, un click gauche lance et trace le projectile.
<ECHAP> pour sortir.

Je dis bien un brouillon : Si quelqu’un sait, veut et peut le mettre au propre, qu’il veuille bien nous en faire profiter !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Calcul de la trajectoire d’un projectile   

Revenir en haut Aller en bas
 
Calcul de la trajectoire d’un projectile
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Calcul de la trajectoire d’un projectile
» Calcul de dénivelé par Memory Map
» rapidité du calcul itinéraire Nuivi 255W
» calcul itineraire?
» Re-calcul itinéraire après changement du volume

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: