Programmation pythoin réflexions d'une boule de billard

pythonC Messages postés 1 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 13 décembre 2008 - 13 déc. 2008 à 20:20
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 7 mars 2009 à 17:15
Bonjour,
j'ai un projet informatique sur les réflexions d'une boule de billiard à faire dans le cadre d'un cours. C'est un sujet pas tro difficile apparemment mais je ne suis pas très doué en programmation. Voila ce j ai fai pour le moment :

import numpy as N
import math as M
from pylab import*


# modelisation de la table, bords en x et y
a=0.
b=5.
x=N.arange(0.,11.)
y=a*x+b
plot(x,y,'b-')


c=0.
d=10.
y=N.arange(0.,6.)
x=c*y+d
plot(x,y,'b-')




# Trajectoire d'une boule de billard : sans frottements, mouvement uniforme, reflexions elastiques




Vo=2.                       #vitesse initiale
print 'i= '                 # angle initial
reponse=sys.stdin.readline()
i=float(reponse)




#LANCER :
# Position initiale:


print 'xo='
reponse=sys.stdin.readline()
xo=float(reponse)


print 'yo='
reponse=sys.stdin.readline()
yo=float(reponse)




if i>0:
 
  x1=(5-yo+xo*(M.tan(i)))/(M.tan(i))
  if x1>=10.:
     x1=10.
  if x2<=0.:
     x2=0.


  x=array([xo,x1])
  y=(M.tan(i))*(x-xo)+yo
  print 'x1='+str(x1)
  y1= (M.tan(i))*(x1-xo)+yo
  print 'y1='+str(y1)


else:
  x1=(-yo+xo*(M.tan(i)))/(M.tan(i))
  if x1>=10.:
     x1=10.
   if x2<=0.:
     x2=0.


  x=array([xo,x1])
  y=(M.tan(i))*(x-xo)+yo
  print 'x1='+str(x1)
  y1=(M.tan(i))*(x1-xo)+yo
  print 'y1='+str(y1)


print x
print y
plot(x,y,'o-')

ceci va permettre de faire un programme pour un modèle simple sans concidérer les frottements et ca nous donne la trajectoire d'une droite quelq soit la position initiale. Mais je voudrais obtenir les rebonds dur les bords et limiter le programme. On m a dit de faire une boucle for mais je n'y arrive pas.

Si quelqu'un peut m'aider svp ce serait vraiment sympa :)
A+

2 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
13 déc. 2008 à 20:42
Salut,

Tu as une erreur sur if i>0: => if ($i > 0) {

Kohntark -
1
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
7 mars 2009 à 17:15
plus, plus plus de commentaires, c'est quelque chose d'important, surtout pour un projet où ton code va etre lu, on n'en met jamais assez
0
Rejoignez-nous