Dat heb ik gedaan in mijn simulatie.
Om de deflectie hoek te krijgen moet de x-as 320 maal vergroot worden.
Ik ben niet overtuigd dat dit een decimalen probleem is.
Code: Selecteer alles
Wolfram Alpha:
solve (sn(x,0.0029031631580164635^2)^2=1
Code: Selecteer alles
import numpy as np
import matplotlib.pyplot as plt
import scipy.special as sps
#fig, ax1= plt.subplots(figsize=(15, 15))
fig, ax1= plt.subplots()
M=1.989e30
G=6.67408e-11/((3e8)**2)
Ro=7e8
#Sigma=-np.pi/4+1.57194
Sigma=-np.pi/4-1.5708013
print('sigma: ' + str(Sigma))
phi=np.linspace(0,np.pi,1000)
esqrt=np.sqrt((Ro-2*M*G)*(Ro+6*M*G))
e1=(Ro-2*M*G+esqrt)/(4*M*G*Ro)
print('e1: ' + str(e1))
e2=1/Ro
print('e2: ' + str(e2))
e3=(Ro-2*M*G-esqrt)/(4*M*G*Ro)
print('e3: ' + str(e3))
Tau=np.sqrt(M*G*(e1-e3)/2)
print('Tau: ' + str(Tau))
h=np.sqrt((e2-e3)/(e1-e3))
print('h: ' + str(h))
val=Tau*phi+Sigma
sn,_,_,_=sps.ellipj(val,h**2)
r=1/(e3+(e2-e3)*(sn**2))
x=r*np.cos(phi)
y=r*np.sin(phi)
ax1.grid()
ax1.plot(x,y)
Code: Selecteer alles
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import ellipj
alpha = 8.1e-6
r0 = 7e8
rs = 2.95e3
e1 = (r0 - rs + np.sqrt((r0 - rs)*(r0 + 3*rs)))/(2*rs*r0)
e2 = 1/(r0)
e3 = (r0 - rs - np.sqrt((r0 - rs)*(r0 + 3*rs)))/(2*rs*r0)
tau = np.sqrt((rs*(e1 - e3))/4)
h2 = (e2 - e3)/(e1 - e3)
sigma = -tau*(np.pi/2) + 1.57079965
t = np.linspace(-alpha/2,np.pi+alpha/2,1000)
sn,_,_,_=ellipj(tau*t + sigma , h2)
x = (1/(e3 + (e2 - e3)*sn*sn))*np.cos(t)
y = (1/(e3 + (e2 - e3)*sn*sn))*np.sin(t)
plt.plot(x,y,c=(1,0.2,0.5),lw=1)
plt.title('lichtbaan')
plt.axis('on')
plt.show()
Code: Selecteer alles
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import ellipj
alpha = 8.42e-6
r0 = 7e8
rs = 2.95e3
e1 = (r0 - rs + np.sqrt((r0 - rs)*(r0 + 3*rs)))/(2*rs*r0)
e2 = 1/(r0)
e3 = (r0 - rs - np.sqrt((r0 - rs)*(r0 + 3*rs)))/(2*rs*r0)
tau = np.sqrt((rs*(e1 - e3))/4)
h2 = (e2 - e3)/(e1 - e3)
sigma = -tau*(np.pi/2) + 1.570799636678
t = np.linspace(-alpha/2,np.pi+alpha/2,1000)
sn,_,_,_=ellipj(tau*t + sigma , h2)
x = (1/(e3 + (e2 - e3)*sn*sn))*np.cos(t)
y = (1/(e3 + (e2 - e3)*sn*sn))*np.sin(t)
plt.plot(x,y,c=(1,0.2,0.5),lw=1)
plt.title('lichtbaan')
plt.axis('on')
plt.show()