بناء مدارات الأجرام السماوية باستخدام Python



أنظمة مرجعية لتحديد المدار


للعثور على مسارات الحركات النسبية في الميكانيكا الكلاسيكية ، يتم استخدام افتراض الوقت المطلق في جميع الإطارات المرجعية (سواء بالقصور الذاتي أو غير القصوري).

باستخدام هذا الافتراض ، نعتبر حركة نفس النقطة في إطارين مرجعيين مختلفين ك و ك التي يتحرك الثاني بالنسبة إلى الأولى بسرعة تعسفية  v e c V ( t ) = d o t v e c R ( t )   أين  v e c R ( t ) ناقل نصف القطر يصف موضع أصل نظام الإحداثيات ك بالنسبة للإطار المرجعي ك )

سنصف حركة نقطة في النظام ك ناقلات الشعاع  ت ه ج ص (ر) موجه من أصل النظام ك إلى الموقع الحالي للنقطة. ثم حركة النقطة قيد النظر بالنسبة للإطار المرجعي ك وصفها ناقلات الشعاع  v e c r ( t ) :

 v e c r ( t ) = v e c r  (T)+vecR(t)  ، (1)

والسرعة النسبية  vecv(t)

 vecv(t)= dot vecr(t)+ dot vecR(t) ، (2)

أين  dot vecr(ر) - سرعة النقطة بالنسبة للنظام K ؛  dot vecR(t) -سرعة الإطار K بالنسبة للإطار المرجعي K .



وبالتالي ، لإيجاد قانون حركة نقطة في إطار مرجعي تعسفي K ضروري:

1) وضع قانون حركة النقطة -  vecr(ر) بالنسبة للإطار المرجعي K ؛
2) وضع قانون الحركة -  vecR(t) أنظمة مرجعية K بالنسبة للإطار المرجعي K
3) تحديد قانون الحركة للنقطة -  vecr(t)= vecr(t)+ vecR(t) بالنسبة للإطار المرجعي K .

بناء مدار القمر في الإطار المرجعي المركزي





في النظام المرجعي مركزية الشمس (النظام K ) تتحرك الأرض في دائرة نصف قطرها
R1=1.496 cdot108 كم (فترة التداول T1=3،156 cdot107 ق.). القمر ، بدوره ، يتحرك حول الأرض (النظام K ') حول دائرة نصف قطرها R2=3.844 cdot105 كم (فترة التداول T2=2.36 cdot106 ق كما هو معروف [1،2] ، عندما تتحرك نقطة مادية على طول دائرة نصف قطرها R بسرعة زاوية ثابتة  omega تتغير إحداثيات ناقلات الشعاع المرسومة من الأصل إلى الوضع الحالي للنقطة وفقًا للقانون:

 vecR(t)= binomR cdotcos( omega cdott+ varphi0)R cdotsin( omega cdott+ varphi0)= binomR cdotcos( frac2 piT)+ varphi0)R cdotsin( frac2 piT+ varphi0)،(3)



أين  varphi0 - المرحلة الأولية التي تميز موضع الجسيم في الوقت المناسب t=0 ، التي سنفترض في المستقبل أنها تساوي الصفر. استبدال في (3) R على R1 و R2 والاستبدال في (1) ، نحصل على اعتماد ناقلات نصف قطر القمر في نظام إحداثيات مركزية الشمس في الوقت المحدد:

 vecr(t)= binomx(t)y(t)= binomR2cos( frac2 piT2t)+R1cos( frac2 piT1t)R2sin( frac2 piT2t)+R1sin( frac2 piT1t)،(4)



يعبر التعبير (4) عن مدار القمر ( y=y(x(t)) ) في شكل معلمي ، حيث المعلمة هي الوقت. لبناء المدار المطلوب باستخدام Python ، قمنا بتعيين نصف قطر المدارات وفترات دوران الأرض والقمر.

تتحرك الأرض في نظام إحداثيات مركزية الشمس ( K ) نصف قطر مدارها وفترة الثورة متساويان على التوالي R1=1.496 cdot108كم،T1=3.156 cdot107s يتحرك القمر حول الأرض في نظام إحداثيات ( K ) نصف قطر مدارها وفترة الثورة متساويان على التوالي R2=3.844 cdot105كلم،T2=2.36 cdot106s .

في ضوء (4) نحدد وظائف اعتماد الإحداثيات في الوقت المحدد:

 binom(X(t)=R1 cdotcos( frac2 piT1 cdott)،Y(t)=R1 cdotsin( frac2 piT1 cdott)x(t)=R2 cdotcos( frac2 piT2 cdott)،y(t)=R2 cdotsin( frac2 piT2 cdott)،(5)



باستخدام (5) نحصل على زوج من الإحداثيات لمدار القمر:

 binomXg(t)=X(t)+x(t)Yg(t)=Y(t)+y(t)،(6)



نحدد عدد النقاط التي يتم فيها حساب الإحداثيات N = 1000 والوقت المنفصل على فترة دوران الأرض dt= fracT1N . سنكتب برنامجًا وننشئ رسمًا بيانيًا لمنطقة تغيير الإحداثيات الإيجابية:

تحديد مداري الأرض والقمر
from numpy import* from matplotlib.pyplot import* R1=1.496*10**8#       [6] T1=3.156*10**7 R2=3.844*10**5 T2=2.36*10**6 N=1000.0 def X(t): return R1*cos(2*pi*t/T1) def Y(t): return R1*sin(2*pi*t/T1) def x(t): return R2*cos(2*pi*t/T2) def y(t): return R2*sin(2*pi*t/T2) k=100 t=[T1*i/N for i in arange(0,k,1)] X=array([X(w) for w in t]) Y=array([Y(w) for w in t]) x=array([x(w) for w in t]) y=array([y(w) for w in t]) XG=X+x YG=Y+y figure() title("    .\n    ") xlabel('$X(t_{k})$,$X_{g}(t_{k})$') ylabel('$Y(t_{k})$,$Y_{g}(t_{k})$') axis([1.2*10**8,1.5*10**8,0,1*10**8]) plot(X,Y,label=' ') plot(XG,YG,label=' ') legend(loc='best') grid(True) show() 

نحصل على:


الشكل 1

يسمح لك الجدول الزمني الذي تم إنشاؤه بتوسيع مهمة التدريب ومعرفة مدار القمر إذا كان نصف قطر مدار القمر R2=3.844 cdot107 . . من الواضح للقارئ الذي ليس لديه حتى معرفة خاصة في علم الفلك أن القمر لا يمكن أن يكون له مثل هذا المدار في المجالات غير الجاذبية للأرض ، ويستخدم نصف قطر افتراضي لدراسة شروط ظهور الحلقات . سنقوم بإجراء التغييرات المناسبة على البرنامج:

تحديد مداري الأرض والقمر
يدرس
  from numpy import* from matplotlib.pyplot import* R1=1.496*10**8#       [6] T1=3.156*10**7 R2=3.844*10**7 T2=2.36*10**6 N=1000.0 def X(t): return R1*cos(2*pi*t/T1) def Y(t): return R1*sin(2*pi*t/T1) def x(t): return R2*cos(2*pi*t/T2) def y(t): return R2*sin(2*pi*t/T2) t=[T1*i/N for i in arange(0,N,1)] X=array([X(w) for w in t]) Y=array([Y(w) for w in t]) x=array([x(w) for w in t]) y=array([y(w) for w in t]) XG=X+x YG=Y+y figure() title("    ") xlabel('$X(t_{k})$,$X_{g}(t_{k})$') ylabel('$Y(t_{k})$,$Y_{g}(t_{k})$') axis([-2.0*10**8,2.0*10**8,-2.0*10**8,2.0*10**8]) plot(X,Y,label=' ') plot(XG,YG,label=' ') legend(loc='best') grid(True) show() 


نحصل على:


الشكل 2

مقارنة مدارات القمر الموضحة في الشكل. 1 و 2 ، نجد اختلافاتهما الكبيرة. لشرح أسباب هذه الاختلافات ، من الضروري مقارنة السرعات الخطية للقمر في الحالتين الأولى والثانية والسرعة الخطية للأرض.

منذ اتجاه السرعة الخطية للأرض نسبة إلى الشمس ، وكذلك اتجاه السرعة الخطية للقمر نسبة إلى الأرض ، تتغير في الوقت ، وتبقى السرعة ثابتة في الحجم.

كخاصية كمية لنسبة السرعات الخطية للقمر والأرض في نظام إحداثيات مركزية الشمس ، يجب على المرء أن يختار الفرق بين وحدة السرعة الخطية للأرض وإسقاط السرعة الخطية للقمر على اتجاه ناقل السرعة الخطية للأرض:

vo(t)= اليسار| vecV(t) right| frac( vecV(t) cdot vecv(t)) left| vecV(t) right|،(7)



نحدد الوظائف التي تصف قوانين التغيير لمكونات سرعة الأرض والقمر:

\ start {matrix} V_ {x} (t) = \ frac {d} {dt} X (t) و V_ {y} (t) = \ frac {d} {dt} Y (t) & \\ vx (t) = \ frac {d} {dt} x (t)، vy (t) = \ frac {d} {dt} y (t) \ end {matrix}، (8)



لتحديد السرعة الناتجة ، مع مراعاة الإسقاط ، نستخدم العلاقة:

D(t)= sqrtVx(t)2+Vy(t)2 sqrtvx(t)2+vy(t)2 cdot fracVx(t) cdotvx(t)+Vy(t) cdotvy(t) sqrtVx(t)2+Vy(t)2 cdot sqrtvx(t)2+vy(t)2،(9)

سنكتب برنامجًا مع مراعاة (5) و (8) و (9) ونصف قطر مدار القمر R2=3.844 cdot105 كلم.:

القمر والأرض يتحركان في نفس الاتجاه
 from numpy import* from matplotlib.pyplot import* R1=1.496*10**8#       [6] T1=3.156*10**7 R2=3.844*10**5 T2=2.36*10**6 N=1000.0 k1=2*pi/T1 k2=2*pi/T2 def Vx(t): return -k1*R1*sin(k1*t) def Vy(t): return k1*R1*cos(k1*t) def vx(t): return -k2*R2*sin(k2*t) def vy(t): return k2*R2*cos(k2*t) def D(t): return sqrt(Vx(t)**2+Vy(t)**2)-sqrt(vx(t)**2+vy(t)**2)*(Vx(t)*vx(t)+Vy(t)*vy(t))/((sqrt(Vx(t)**2+Vy(t)**2))*(sqrt(vx(t)**2+vy(t)**2))) x=[T1*i/N for i in arange(0,N,1)] y=[D(t) for t in x] title("       \n    R2=3.844*10**5 .") xlabel('t') ylabel('D(t)') plot(x,y) show() 


نحصل على:


الشكل 3.

سنكتب برنامجًا مع مراعاة (5) و (8) و (9) ونصف قطر مدار القمر R2 = 3.844 * 10 ** 7 كم:

يتحرك القمر بشكل دوري في الاتجاه المعاكس للأرض
 from matplotlib.pyplot import* R1=1.496*10**8#       [6] T1=3.156*10**7 R2=3.844*10**7 T2=2.36*10**6 N=1000.0 k1=2*pi/T1 k2=2*pi/T2 def Vx(t): return -k1*R1*sin(k1*t) def Vy(t): return k1*R1*cos(k1*t) def vx(t): return -k2*R2*sin(k2*t) def vy(t): return k2*R2*cos(k2*t) def D(t): return sqrt(Vx(t)**2+Vy(t)**2)-sqrt(vx(t)**2+vy(t)**2)*(Vx(t)*vx(t)+Vy(t)*vy(t))/((sqrt(Vx(t)**2+Vy(t)**2))*(sqrt(vx(t)**2+vy(t)**2))) x=[T1*i/N for i in arange(0,N,1)] y=[D(t) for t in x] title("        \n .    R2=3.844*10**7 .") xlabel('t') ylabel('D(t)') plot(x,y) show() 


نحصل على:


الشكل 4.

يسمح لنا تحليل التبعيات بشرح سبب الاختلافات في المدارات. الدالة D (t) لـ R2=3.844 cdot105 km دائمًا إيجابية ، أي أن القمر يتحرك دائمًا في اتجاه حركة الأرض ولا يتشكل حلقات. في R2=3.844 cdot107 قيمة الكيلومتر D(t) يأخذ قيمًا سلبية ، وهناك أوقات يتحرك فيها القمر في الاتجاه المعاكس لاتجاه حركة الأرض ، وبالتالي فإن المدار له حلقات. كان هذا هو معنى استخدام مدار القمر غير الموجود في الحسابات.

بناء مدار المريخ في الإطار المرجعي المرتبط بالأرض

.


في النظام المرجعي الشمسي (النظام K) ، تتحرك الأرض في دائرة نصف قطرها R1=1.496 cdot108 كيلومتر، فترة التداول T1=365.24دولارً اليوم ، يتحرك المريخ على طول القطع الناقص ، المحور شبه الرئيسي له am=2.28 cdot108 كم ، فترة ثورة المريخ T_ {م} = 689.98 دولارًا أيام. ، غريب الأطوار للمدار e=$0.09 [3]. يتم وصف حركة الأرض بواسطة متجه نصف القطر R (t) المحدد بواسطة التعبير (3). يرجع ذلك إلى حقيقة أن مدار المريخ هو القطع الناقص ، التبعيات x=x(t)،y=y(t) من الوقت يتم تعيينها بشكل بارز [4]:

x( varepsilon)=am cdot(cos( varepsilon)e) ، (10)

y( varepsilon)=am cdot sqrt1e2 cdotsin( varepsilon) ، (11)

t( varepsilon)= fracTm2 pi cdot( varepsilone cdotsin( varepsilon)) ، (12)

تقارن ثورة ناقصة كاملة مع تغيير في المعلمة <img  varepsilon من 0 إلى 2 pi . لبناء مدار المريخ ، من الضروري حساب إحداثيات ناقلات نصف القطر في نفس الوقت الذي يصف موقع الأرض والمريخ في الإطار المرجعي المركزي ، ثم وفقًا للعلاقة  vecr(t)= vecr(t) vecR(t) حساب إحداثيات المريخ في الإطار المرجعي المرتبط بالأرض.

لبناء مدار المريخ في الإطار المرجعي المرتبط بالأرض ، نستخدم المعلمات المعطاة سابقًا لمداري الأرض والمريخ ، والعلاقات (10) - (12) ، وكذلك علاقات إحداثيات الأرض:

X(t)=R1 cdotcos( frac2 piT1t) ، (13)

Y(t)=R1 cdotsin( frac2 piT1t) ، (14)

وتجدر الإشارة إلى أن عدد فترات ثورة المريخ حول الشمس هي K=9 ثم عدد النقاط التي يجب أن يتم الحساب عندها وسيتم تحديد المسافة بينهما من العلاقات:

N=4000 cdotK، varepsiloni= frac2 piN cdoti،i=0...N (15)

مدار المريخ في الإطار المرجعي للأرض
 from numpy import* from matplotlib.pyplot import* R1=1.496*10e8#       [4] T1=365.24 am=2.28*10e8 Tm=689.98 ee=0.093 N=36000 def x(g): return am*(cos(g)-ee) def y(g): return am*sqrt(1-ee**2)*sin(g) def t(g): return Tm*(g-ee*sin(g))/2*pi def X(g): return R1*cos(2*pi*t(g)/T1) def Y(g): return R1*sin(2*pi*t(g)/T1) y=array([y(2*pi*i/N) for i in arange(0,N,1)]) x=array([x(2*pi*i/N) for i in arange(0,N,1)]) X=array([X(2*pi*i/N) for i in arange(0,N,1)]) Y=array([Y(2*pi*i/N) for i in arange(0,N,1)]) t=array([t(2*pi*i/N) for i in arange(0,N,1)]) figure() title("    ") xlabel('x(g),X(g)') ylabel('y(g),Y(g)') plot(x,y,label=' ') plot(X,Y,label=' ') legend(loc='best') figure() title("       ") xlabel('x1/10e8') ylabel('y1(g/10e8') x1=(xX) y1=(yY) plot(x1/10e8,y1/10e8) figure() title("      \n    ") xlabel('t/365.24') ylabel('sqrt(x1**2+y1**2)/10e8') y2=sqrt(x1**2+y1**2)/10e8 x2=t/365.24 plot(x2,y2) show() 


نحصل على:


الشكل 5

نحسب إحداثيات متجه نصف القطر الذي يصف موقع المريخ في الإطار المرجعي المتصل بالأرض ، وننشئ المدارات (الشكل 6) باستخدام العلاقة:

x1i=x( varepsiloni)X(t( varepsiloni))،y1i=y( varepsiloni)Y(t( varepsiloni))) (16)


الشكل 6

خاصية أخرى مهمة لحركة المريخ (في المقام الأول لرحلات الفضاء بين الكواكب) هي المسافة بين الأرض والمريخ s (t) ، والتي يتم تحديدها بواسطة معامل متجه نصف القطر الذي يصف موقع المريخ في الإطار المرجعي المرتبط بالأرض. ويبين الشكل 7 اعتماد المسافة بين الأرض والمريخ على الوقت المقيس بالسنوات الأرضية.


الشكل 7

يوضح تحليل الاعتماد المبين في الشكل 7 أن المسافة بين الأرض والمريخ هي وظيفة دورية معقدة للوقت. إذا استخدمنا مصطلحات نظرية الإشارة [5] ، فيمكننا القول عن الاعتماد s (t) أنها إشارة معدلة السعة ، والتي عادة ما يتم تمثيلها على أنها نتاج وظيفتين لوظيفة عالية التردد (الناقل) ووظيفة التردد المنخفض التي تحدد تعديل السعة (المغلف) :

u(t)=( baru+a cdotsin( omega1t)) cdot(1+ Deltaa cdotsin( omega2t)) (17)

أين  baru - المكون الثابت للدالة u(t) ؛ a - اتساع الإشارة ؛  omega1 - تردد الموجة الحاملة ؛  Deltaa - اتساع الوظيفة التي تحدد عمق تشكيل الاتساع ؛  omega2 - تردد وظيفة التشكيل.

من الشكل 7 يمكن ملاحظة أن فترة الموجة الحاملة تقارب 2 سنة ، وفترة وظيفة التشكيل حوالي 17 سنة] 6].

بناء مدار مركزية مذنب هالي




آخر مرة مر بها مذنب هالي عبر الحضيض (أقرب نقطة مدار إلى الشمس) في 9 فبراير 1986. (تعتبر الشمس نفسها موجودة في الأصل).

كانت الإحداثيات ومكونات السرعة لمذنب هالي متساوية p0=(0.325514،0.459460،0.166229) و v0=(9.096111،6.916686،1.305721) على التوالي ، ويتم التعبير عن المسافة هنا بوحدات طول فلكية - a.u.d. أو ببساطة au. (الوحدة الفلكية ، أي طول شبه الشبه الرئيسي الرئيسي لمدار الأرض) ، والوقت بالسنوات. في وحدات القياس هذه ، يكون لمعادلات الحركة ثلاثية الأبعاد للمذنب الشكل:

\ left \ {\ start {matrix} \ frac {d ^ {2} x} {dt ^ {2}} = - \ frac {\ mu \ cdot x} {r ^ {3}} \\ \ frac { د ^ {2} y} {dt ^ {2}} = - \ frac {\ mu \ cdot y} {r ^ {3}} \\ \ frac {d ^ {2} z} {dt ^ {2} } = - \ frac {\ mu \ cdot z} {r ^ {3}} \ end {matrix} \ right.، (18)

(18)

حيث:  mu=4 pi2،r= sqrtx2+y2+z2

بناء مدار مركزية مذنب هالي
 from numpy import* from scipy.integrate import odeint import matplotlib.pyplot as plt from matplotlib.patches import Circle def f(y, t): y1, y2, y3, y4,y5,y6 = y return [y2, -(4*pi*pi*y1)/(y1**2+y3**2 +y5**2)**(3/2),y4,-(4*pi*pi*y3)/(y1**2+y3**2 +y5**2)**(3/2),y6,-(4*pi*pi*y5)/(y1**2+y3**2 +y5**2)**(3/2)] t = linspace(0,300,10001) y0 = [0.325514,-9.096111, -0.459460,-6.916686,0.166229,-1.305721] [y1,y2, y3, y4,y5,y6]=odeint(f, y0, t, full_output=False).T fig, ax = plt.subplots() plt.title("  (  ..,   ) \n    ") plt.xlabel('x(t)') plt.ylabel('y(t)') fig.set_facecolor('white') ax.plot(y1,y3,linewidth=1) circle = Circle((0, 0), 0.2, facecolor='orange') ax.add_patch(circle) plt.axis([1,-21,-1,29]) plt.grid(True) fig, ax = plt.subplots() plt.title("   \n    ") plt.xlabel('x(t)') plt.ylabel('z(t)') fig.set_facecolor('white') ax.plot(y1,y5,linewidth=1) circle = Circle((0, 0), 0.1, facecolor='orange') ax.add_patch(circle) plt.axis([1,-21,1,-11]) plt.grid(True) fig, ax = plt.subplots() plt.title("   \n    ") plt.xlabel('y(t)') plt.ylabel('z(t)') fig.set_facecolor('white') ax.plot(y3,y5,linewidth=1) circle = Circle((0, 0), 0.2, facecolor='orange') ax.add_patch(circle) plt.axis([-1,29,1,-11]) plt.grid(True) fig, ax = plt.subplots() plt.title("     \n   ZOX  ZOY ") ax.plot(t,y1,linewidth=1) ax.plot(t,y3,linewidth=1) plt.show() 


نحصل على:









المذنب الخاص بك

جرب تجربة. في الليل ، تقوم بتثبيت التلسكوب الخاص بك فوق تلة ليست بعيدة عن منزلك. يجب أن تكون الليل صافية وخالية من الغيوم ونجومية ، وإذا ابتسمت الثروة لك: في الساعة 0.30 صباحًا ستلاحظ مذنبًا جديدًا.

بعد الملاحظات المتكررة في الليالي التالية ، ستتمكن من حساب إحداثياتها في تلك الليلة الأولى. الإحداثيات في نظام إحداثيات مركزية الشمس: P0 = (x0، y0، z0) ومتجه السرعة v0 = (vx0، vy0، vz0).

باستخدام هذه البيانات ، حدد:

  • مسافة المذنب من الشمس عند الحضيض (نقطة المدار الأقرب إلى الشمس) والأوج (نقطة المدار الأبعد عن الشمس) ؛
  • سرعة المذنب عند المرور عبر الحضيض ومن خلال aphelion ؛
  • فترة ثورة المذنب حول الشمس ؛
  • التاريخان التاليان يمر المذنب من خلال الحضيض.

إذا قمنا بقياس المسافة في الوحدات الفلكية ، والوقت بالسنوات ، فستأخذ معادلة حركة المذنب الشكل (18). بالنسبة لمذنبك ، حدد إحداثيات وسرعات بدء تعسفية من نفس ترتيب مذنب هالي.

إذا لزم الأمر ، أعد إجراء اختيار تعسفي للموضع الأولي ومتجه السرعة حتى تحصل على مدار غريب الأطوار معقول يتجاوز مدار الأرض (مثل معظم المذنبات الحقيقية).

المراجع:


  1. Feynman R. ، Leighton R. ، Sands M. Feynman Lectures in Physics. الطبعة الثالثة. T. 1.-2. م: مير ، 1977.
  2. Matveev A.N. الميكانيكا ونظرية النسبية. م: العالي. مدرسة .1986.
  3. الموسوعة الفيزيائية. T. 3. M: الموسوعة الروسية الكبيرة ، 1992.
  4. دورة Landau L.D، Lifshits EM في الفيزياء النظرية. الميكانيكا. م: فو ماتجيز ، 1958.
  5. Baskakov S.I. دوائر وإشارات الهندسة الراديوية. م: العالي. المدرسة .1988.
  6. بورشنيف سي. محاكاة الكمبيوتر للعمليات الفيزيائية باستخدام حزمة mathcad .

Source: https://habr.com/ru/post/ar419911/


All Articles