# TRACÉ D'UNE CARTE DE CHAMP ELECTROSTATIQUE import numpy as np import matplotlib.pyplot as plt # définition de la zone de calcul x, y x=np.linspace(-10,10,500) # tableau allant de -10 à +10 avec 500 éléments y=np.linspace(-10,10,500) X,Y=np.meshgrid(x,y) # créé deux tableaux X,Y où on retrouve # les abcisses et ordonnées x,y et # permet un calcul vectoriel sur la grille # X, Y (cf fiche meshgrid) # Définition des charges et de leurs coordonnées # on prend les charges en unités de 1/(4.Pi.epsilon0) pour éviter de trainer # cette constante q=[1,-3,2] xq=[-5,5,2] # abcisses respectives des trois charges yq=[0,0,3] # ordonnées # création de deux tableaux Ex, Ey nuls à la base de 500 x 500 éléments Ex=np.zeros((500,500)) Ey=np.zeros((500,500)) # calcul des composantes de E en chaque points # pour chaque charge (il y en a len(q) le nombre d'élément du tableau q) for i in range(len(q)): r=((X-xq[i])**2+(Y-yq[i])**2)**0.5 # calcule la distance r entre la charge qi # et le point M en X,Y où on veut le champ #---------------à compléter calcul des composantes Ex et Ey du champ Ex=Ex + ... Ey=Ey + ... #-------------------------------------------------------------------------- # tracé des lignes de champs : streamplot # steamplot trace le champs de vecteur Ex, Ey plt.figure(figsize=(8,8)) plt.streamplot(X,Y,Ex,Ey,density=1.5,color='black') plt.show()