#!/usr/bin/env python # coding: utf-8 #
SUPERPOSITION DE DEUX ONDES PROGRESSIVES SINUSOÏDALES
#On envisage la superposition de deux ondes progressives sinusoïdales de même amplitude se propageant dans des directions opposées.
#On trace d'abord l'onde se propageant vers la droite # $y_1(x,t)=\sin(2\pi (x-t))$ (on a choisi une amplitude unité, une longueur d'onde unité et une période unité):
# In[1]: y1(x,t)=sin(2*pi*(x-t))#période unite; longueur d'onde unité;amplitude unité prop1=animate([plot(y1(x,k*0.05),color='red',xmin=0,xmax=3,ymin=-2,ymax=2) for k in range(0,20)],figsize=[8,4], axes_labels=['$x$','']) prop1.show(delay=0.1) #puis celle se propageant vers la gauche $y_2(x,t)=\sin(2\pi(x+t)+\varphi)$ (en choisissant $\varphi=0$):
# In[2]: y2(x,t,phi)=sin(2*pi*(x+t)+phi) prop2=animate([plot(y2(x,k*0.05,0),color='green',xmin=0,xmax=3,ymin=-2,ymax=2) for k in range(0,20)],figsize=[8,4], axes_labels=['$x$','']) prop2.show(delay=0.1) # **************** # #On trace ensuite la somme de ces deux signaux et on observe le résultat suivant:
# In[3]: y(x,t)=y1(x,t)+y2(x,t,0) sup=animate([plot(y(x,k*0.05),color='blue',thickness=2,xmin=0,xmax=3,ymin=-2,ymax=2) for k in range(0,20)],figsize=[8,4], axes_labels=['$x$','']) sup.show(delay=0.1) #on n'observe plus de propagation: pour certaines valeurs de $x$, on observe une amplitude maximale (ventres), pour d'autres aucune vibration (noeuds).
## On remarque que deux noeuds successifs (ou deux ventres successifs) sont distants d'une demi longueur # d'onde.
#Si on represente le signal résultant et les deux ondes, on observe:
au niveau des noeuds de vibration, les signaux sont en phase alors qu'au niveau des ventres ils sont en opposition de phase.
# **************** # # # #Sur la courbe ci-dessous on a juste decalé de $\frac{\pi}{2}$ la phase d'une des deux ondes. On observe toujours des noeuds et des ventres
#mais la figure s'est translatée:
# In[5]: ya(x,t)=y1(x,t)+y2(x,t,pi/2) sup=animate([plot(ya(x,k*0.05),color='blue',thickness=2,xmin=0,xmax=3,ymin=-2,ymax=2) for k in range(0,20)],figsize=[8,4], axes_labels=['$x$','']) sup.show(delay=0.1) # *********** # #Même chose ci-dessous avec un décalage de $\varphi=\pi$ pour $y_2$. Si on compare à la première courbe obtenue, les noeuds
#de vibration sont devenus des ventres et réciproquement:
# In[6]: yb(x,t)=y1(x,t)+y2(x,t,pi) sup=animate([plot(yb(x,k*0.05),color='blue',thickness=2,xmin=0,xmax=3,ymin=-2,ymax=2) for k in range(0,20)],figsize=[8,4], axes_labels=['$x$','']) sup.show(delay=0.1) # ********************************* # #Ci dessous, on a représenté la superpostion de deux ondes sinusoidales se propageant dans des directions opposées,
#mais d'amplitude différentes (l'amplitude de l'onde se propageant vers la gauche (y2) étant plus faible que celle
#de l'onde se dirigeant vers la droite:
# In[7]: yc(x,t)=y1(x,t)+0.8*y2(x,t,0)# cas où les deux ondes n'ont pas même amplitude supa=animate([yc(x,k*0.05) for k in range(0,20)],xmin=0,xmax=3,ymin=-2,ymax=2,figsize=[8,4],axes_labels=['$x$','']) supa.show(delay=0.1)