1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
def dessinerGraphique():
CanvasGraphique = Canvas(Fenetre, width = 400.0, height=400.0)
domaineDeDessin=[-10.0,10.0]
intervalle=abs(domaineDeDessin[0])+abs(domaineDeDessin[1])
echelle = 400.0/intervalle
x=0.0
y=0.0
#Partie qui dessine le graphique vide.
CanvasGraphique.create_line(200.0,0.0,200.0,400.0)
CanvasGraphique.create_line(0.0,200.0,400.0,200.0)
for i in xrange(0.0,intervalle):
x=i*echelle
CanvasGraphique.create_line(x,200+5,x,200-5)
CanvasGraphique.create_line(200+5,x,200-5,x)
fonction = EntreeFonction.get()
#######################
i=domaineDeDessin[0]
premierPoint=True
while(i<domaineDeDessin[1]):
x=float(i)
#Calcul de la coordonnée des points.
try:
#print i
#print i+1.0
print x
y=eval(fonction)*echelle
x=x*echelle
print "f(",x/echelle,") = ",y/echelle
#Ajuste les coordonnées des points pour etre dessinner.
x=200+x
y=200-y
#Trace les points du graphique relier par une droite.
if(premierPoint):
ancienPoint=[x,y]
else:
CanvasGraphique.create_line(ancienPoint[0],ancienPoint[1],x,y)
ancienPoint=[x,y]
premierPoint=False
except:
#print "zéro vaut bien zéro ni pus ni moins"
CanvasGraphique.create_line((x*echelle)+200,0,(x*echelle)+200,400,fill='red')
i+=float(intervalle)/200.0 |
Partager