import math import pylab as pl m=70 v_0=500 dt=10 g=9.8 B2_0=0.0106 xt=4002 yt=1000 t=[0] v_0=500 x=[0] y=[0] theta_list=[] delta_list=[] for i in range(30,60): theta=i*(math.pi)/180 v_x=[v_0*math.cos(theta)] v_y=[v_0*math.sin(theta)] while y[-1]>=0: M_list=[] x.append(x[-1]+v_x[-1]*dt) y.append(y[-1]+v_y[-1]*dt) v_x.append(v_x[-1] - B2_0*v_0*v_x[-1]*dt/m) v_y.append(v_y[-1] - g*dt - B2_0*v_0*v_y[-1]*dt/m) M_list.append(math.sqrt(math.pow(x[-1]-xt,2) + math.pow(y[-1]-yt,2))) t.append(dt+t[-1]) delta_list.append(min(M_list)) print (theta,x[-1]) pl.scatter(theta,delta_list[-1])