Je partage avec vous un programme réalisé sur la TI83 sur l'étude en Physique du mouvement rectiligne pour la classe de 2nde.
Il m'a permis de découvrir l'environnement Python de la TI mais aussi de tester les modules ti_plotlib, ce_quivr et le module caché ti_graphics. D'ailleurs, j'en profite pour remercier critor pour toutes les explications données sur ces différents modules sur ce site.
Je ne suis pas un expert en programmation, j'accepte toutes vos remarques ou critiques
- Code: Select all
import ti_plotlib as plt
from ce_quivr import *
import ti_graphics as scr
#parametres
dt=0.1 #intervalle entre 2 pts en sec
v0=15 #vitesse iniale en m/s
dv=1 #variation vitesse en m/s par intervalle dt
i_vit=5 #nbre pts entre 2vecteurs vitesse
ech_vect=0.15
plt.cls()
plt.window(-20,20,-10,10)
plt.grid(2,2,"dot")
#nature du mouvement
if dv==0:
type="uniforme"
else:
type="accelere"
plt.title("mouvement rectiligne "+type)
scr.drawRect(4,164,311,71)
plt.color(245,245,245)
scr.fillRect(5,165,310,70)
plt.pen("medium","solid")
plt.color(255,0,0)
#legende position
scr.drawString('2 m',110,47)
plt.line(plt.xmin/2,3*plt.ymax/4,(plt.xmin/2)+2,3*plt.ymax /4,"")
l_t=[]
l_x=[]
l_v=[]
x,v,t=0,v0,0
while x<2*plt.xmax :
l_t.append(t)
l_x.append(x)
l_v.append(v)
x=x+v*dt
v=v+dv
t=t+dt
for i in range(len(l_x)):
plt.plot(plt.xmin+l_x[i],0,"o")
for j in range(0,len(l_x),i_vit):
aff=plt._xy(plt.xmin+l_x[j],0) #convert coord en pixels
scr.drawString('A{}'.format(j),aff[0],aff[1]-20)
scr.drawString('A0A{} = {:.2f} m'.format(len(l_x)-1,l_x[-1]),10,195)
plt.color(0,150,0)
scr.drawString('dt= '+str(dt)+' s et t{}-t0 = {:.2f} s'.format(len(l_t)-1,l_t[-1]),10,175)
plt.show_plot()
plt.color(0,0,255)
scr.drawString(str(round(2/ech_vect,1))+'m/s',110,62)
plt.pen("thin","solid")
plt.line(plt.xmin/2,(3*plt.ymax/4)-1,(plt.xmin/2)+2,(3*plt.ymax /4)-1,"arrow")
for k in range(0,len(l_x),i_vit):
quiver(plt.xmin+l_x[k],0,l_v[k],0,ech_vect,"b")
aff=plt._xy(plt.xmin+l_x[k],0)#convert coord en pixels
scr.drawString('v{}'.format(k),aff[0],aff[1]+10)
scr.drawString('v{} = {:.2f} m/s'.format(len(l_x)-1,l_v[-1]),10,215)
plt.show_plot()