""" L'algoritmo per disegnare una linea di campo si basa sul calcolo del campo risultante in un certo punto e conseguentemente sullo spostarsi di un trattino nella direzione e nel verso di tale risultante dopo di che si ricomincia; in questo modo con buona approssimazione la tangente in un punto alla linea di campo ha la direzione del campo Per i comandi della tartaruga in Python cercare modulo turtle Python dalla versione 2.7 in poi""" from turtle import * # permette di utilizz. la grafica della tartaruga e anche i vettori Vec2D k=9E9 # cost Coulomb unita' S.I. q1,q2=5E-6,-10E-6 #carche in micro coulomb a=Vec2D(0.16,0) #posiz seconda carica come vettore def prepara(): # disegno dei due punti con le cariche sorgenti dot(10, 'red') penup() setpos(16,0) dot(10, 'red') home() pendown() def linea_campo(x,y): # disegna le linee di campo a partire dal punto x,y penup() # penna su setpos(x,y) # manda la tartaruga nel punto x,y pendown() # penna giu' r1=Vec2D(xcor()/100,ycor()/100) # vettore posizione della carica di prova r2=r1-a # vettore posizione della carica di prova rispetto la carica 2 while abs(r2)>0.02 and ycor()<41: # mentre cio' e' vero ripete le istruzioni che seguono r1=Vec2D(xcor()/100,ycor()/100) r2=r1-a E1=k*q1/abs(r1)**3*r1 # calcolo campo elettrico 1 come prodotto numero per vettore E2=k*q2/abs(r2)**3*r2 Eris=E1+E2 #somma di vettori setheading(towards(xcor()+Eris[0],ycor()+Eris[1])) # dirige la tarta nel verso del campo risultante forward(0.8) # avanti di un trattino speed(0) # aumenta la velocita' setworldcoordinates(-50,-40,50,40) # stabilisce le coordinate prepara() hideturtle() # le istruzioni che seguono disegnano alcune linee di campo y=0.2 x=-1 while x<1: linea_campo(x,y) x=x+0.2 y=40 x=15 while x<40: linea_campo(x,y) x=x+4 exitonclick()