frenet.py
Programme Python de l'Interros des Lycées
R0=5
V0=3
def VecteurPosition (t):
x = R0*cos(t*V0/R0)
y = R0*sin(t*V0/R0)
return x,y
def VecteurVitesse (t, h=1e-5):
x0, y0 = VecteurPosition (t-h)
x1, y1 = VecteurPosition (t+h)
vx = (x1 - x0)/(2*h)
vy = (y1 - y0)/(2*h)
return vx,vy
def VecteurAcceleration (t, h=1e-5):
vx0, vy0 = VecteurVitesse (t-h)
vx1, vy1 = VecteurVitesse (t+h)
ax = (vx1 - vx0)/(2*h)
ay = (vy0 - vy1)/(2*h)
return ax,ay
def TraceVecteurAcceleration (t):
x,y = VecteurPosition(t)
ax,ay = VecteurAcceleration (t)
arrow (x,y,ax,ay,head_width=.2, length_includes_head=True)
plot (x,y,'+b')