1. Pour une largeur de fente a = 2{,}5 \: \mum et une distance D = 2{,}0 m, calculer la valeur de k pour cinq longueurs d'ondes différentes appartenant au domaine du visible.
2. Modifier le code en fonction des valeurs de
k trouvées précédemment afin de générer un graphique représentant les cinq courbes en intensité et décrire comment la courbe évolue en fonction de la longueur d'onde.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots(figsize=(10, 5))
ax.set(xlim=(-0.5,0.5), ylim=(0, 2.2))
plt.title('Courbes en intensité de la figure de diffraction')
plt.xlabel('x (m)', fontsize=16)
plt.ylabel('Intensité',fontsize=16)
x = np.linspace(-1, 1, 300)
#Courbe 1
# Valeur de k_1
k_1 = float(input("Saisir la valeur de k_1 : " ))
I = 2
F1 = I*(np.sinc(np.pi*k_1*x))**2
#Courbe 2
# Valeur de k_2
k_2 = float(input("Saisir la valeur de k_2 : " ))
I = 2
F2 = I*(np.sinc(np.pi*k_2*x))**2
#Courbe 3
# Valeur de k_3
k_3 = float(input("Saisir la valeur de k_3 : " ))
I = 2
F3 = I*(np.sinc(np.pi*k_3*x))**2
#Courbe 4
# Valeur de k_4
k_4 = float(input("Saisir la valeur de k_4 : " ))
I = 2
F4 = I*(np.sinc(np.pi*k_4*x))**2
#Courbe 5
# Valeur de k_5
k_5 = float(input("Saisir la valeur de k_5 : " ))
I = 2
F5 = I*(np.sinc(np.pi*k_5*x))**2
def animate(i):
ax.plot(x,F1, color='purple',lw=1, label="$\lambda = 400$ nm")
ax.plot(x,F2, color='b',lw=1, label="$\lambda = 450$ nm")
ax.plot(x,F3, color='g',lw=1, label="$\lambda = 550$ nm")
ax.plot(x,F4, color='orange',lw=1, label="$\lambda = 600$ nm")
ax.plot(x,F5, color='r',lw=1, label="$\lambda = 700$ nm")
plt.grid(True)
plt.legend()
anim = FuncAnimation(fig, animate, interval=30, frames=300)
plt.show()
3. En déduire l'allure de la figure de diffraction par une
fente éclairée en lumière blanche.