@Xc-liu
2016-04-05T14:59:29.000000Z
字数 4874
阅读 2259
如下图所示,选取与抛体出射点固连的动系

注:经度全是东经,纬度全是南纬
随便选一点发射
| (方位角)与X轴夹角 | 与Y轴夹角 | 与Z轴夹角 | 初速度 初始经度 | 初始纬度 | 初速度 m/s | 落点经度 | 落点纬度 | |
|---|---|---|---|---|---|---|---|---|
| 45 | 45 | 0 | 20 | 20 | 700 | 74.44 | 160 |
轨迹图:
选极点向上发射
| (方位角)与X轴夹角 | 与Y轴夹角 | 与Z轴夹角 | 初速度 初始经度 | 初始纬度 | 初速度 m/s | 落点经度 | 落点纬度 | |
|---|---|---|---|---|---|---|---|---|
| 90 | 90 | 0 | 0 | 90 | 700 | 0.00 | 90.0 |
轨迹图:

在武汉大学发射
| (方位角)与X轴夹角 | 与Y轴夹角 | 与Z轴夹角 | 初速度 初始经度 | 初始纬度 | 初速度 m/s | 落点经度 | 落点纬度 | |
|---|---|---|---|---|---|---|---|---|
| 90 | 90 | 0 | 60 | 114 | 700 | -24 | 133 |
轨迹图:

以略大于第一宇宙速度的速度发射
轨迹图:

#coding:utf-8#initial valueimport matht=[]dt=0.01 #B/m=4*10-5 realy countg=9.8end_time=100h_0=0.0001B=4*10**(-5)a=45/180.0*math.pib=45/180.0*math.pic=0/180.0*math.pitheta=[a,b,c] #direction angled=20/180.0*math.pie=math.pi/2-20/180.0*math.piangle_0=[d,e] #initial longitude and latitudet.append(0)w=4.167*10**-3R=6371000#define variablex=[]v_x=[]y=[]v_y=[]z=[]v_z=[]x.append(0)y.append(0)z.append(0)v_x.append(700*math.cos(theta[0])) #initial speed equal 700m/sv_y.append(700*math.cos(theta[1]))v_z.append(700*math.cos(theta[2]))#caulate the coordinatefor i in range(int(end_time/dt)):m=x[i]+v_x[i]*dtx.append(m)n=v_x[i]+2*w*v_y[i]*math.sin(angle_0[1])*dt-B*math.e**-(((x[i]**2+y[i]**2+(z[i]+R)**2)**0.5-R)*h_0)*((v_x[i]**2+v_y[i]**2+v_z[i]**2)**0.5)*v_x[i]*dtv_x.append(n)o=y[i]+v_y[i]*dty.append(o)p=v_y[i]-2*(v_z[i]*math.cos(angle_0[1])+v_x[i]*math.sin(angle_0[1]))*dt-B*math.e**-(((x[i]**2+y[i]**2+(z[i]+R)**2)**0.5-R)*h_0)*((v_x[i]**2+v_y[i]**2+v_z[i]**2)**0.5)*v_y[i]*dtv_y.append(p)r=z[i]+v_z[i]*dtz.append(r)s=v_z[i]+2*w*v_y[i]*math.cos(angle_0[1])*dt-g*dt-B*math.e**-(((x[i]**2+y[i]**2+(z[i]+R)**2)**0.5-R)*h_0)*((v_x[i]**2+v_y[i]**2+v_z[i]**2)**0.5)*v_z[i]*dtv_z.append(s)H=(x[i]**2+y[i]**2+(z[i]+R)**2)**0.5-Rif H<=0:if H>=-3:X=x[-1]Y=y[-1]Z=z[-1]print x[-1],y[-1],z[-1]#caulate the longitude and latitudeDelta_g=math.pi/2-math.acos(Z/((X**2+Y**2)**0.5))g=Delta_g+angle_0[1]# k_1=X*math.cos(angle_0[1])-(X*math.cos(angle_0[1])-Z*math.sin(angle_0[1]))*math.cos(angle_0[1])**2+Z*math.sin(angle_0[1])+(X*math.cos(angle_0[1])-Z*math.sin(angle_0[1])*math.sin(angle_0[1])**2# k_2=(X-(X*math.cos(angle_0[1])-Z*math.sin(angle_0[1])*math.cos(angle_0[1])))**2+Y**2+(Z+(X*math.cos(angle_0[1])-Z*math.sin(angle_0[1]))*math.sin(angle_0[1]))**2# k=k_1k_1=X*math.cos(angle_0[1])-(X*math.cos(angle_0[1])-Z*math.sin(angle_0[1]))*math.cos(angle_0[1])**2+Z*math.sin(angle_0[1])+(X*math.cos(angle_0[1])-Z*math.sin(angle_0[1]))*math.sin(angle_0[1])**2k_2=(X-(X*math.cos(angle_0[1])-Z*math.sin(angle_0[1])*math.cos(angle_0[1])))**2+Y**2+(Z+(X*math.cos(angle_0[1])-Z*math.sin(angle_0[1]))*math.sin(angle_0[1]))**2Delta_f=k_1/k_2**0.5f=Delta_f+angle_0[0]f_1=(f/math.pi)*180g_1=(g/math.pi)*180print f_1 ,"longitude"print g_1 ,"latitude"# print k,"X"#draw the pictureimport matplotlib as mplfrom mpl_toolkits.mplot3d import Axes3Dimport numpy as npimport matplotlib.pyplot as pltmpl.rcParams['legend.fontsize'] = 10fig = plt.figure()ax = fig.gca(projection='3d')ax.plot(x, y, z, label='parametric curve')ax.legend()plt.show()
经典力学(上) 王波 武汉大学出版社
计算物理教材