Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Problem dveh teles

Authors
Affiliations
Univerza v Ljubljani
Univerza v Ljubljani

Kot smo navajeni, opišimo sistem dveh teles. Gibanje nebesnih teles je prvi seveda opisal Newton z gravitacijsko silo, ki pravi, da je sila drugega na prvo telo enaka:

F12=Gm1m2r122r12r12; r12r2r1,\vec{F}_{12} = G\frac{m_1m_2}{r_{12}^2}\frac{\vec{r}_{12}}{r_{12}};\ \vec{r}_{12}\equiv\vec{r}_2 - \vec{r}_1,

kjer je G=6,6741011m3 kg1s2G = 6,674\cdot 10^{-11}\text{m}^3\ \text{kg}^{-1}\text{s}^{-2} gravitacijska konstanta. Da popolnoma opišemo stanje takega sistema očitno potrebujemo 6 spremenljivk (vsako telo ima namreč tri proste koordinate). Ekvivalentno lahko vpeljemo dva nova vektorja - težišče in vektor razlike - ki opišeta enak sistem:

R=m1r1+m2r2m1+m2, r=r2r1.\vec{R} = \frac{m_1\vec{r}_1 + m_2\vec{r}_2}{m_1 + m_2},\ \vec{r} = \vec{r}_2 - \vec{r}_1.

Z obravnavamo v Lagrangeovem formalizmu dobimo končni rezultat za obliko orbite v polarnih koordinatah kot:

1r=C[1+ecos(θθ)]; e=1+2EL2mk2.\frac{1}{r} = C\left[1 + e\cos(\theta - \theta')\right];\ e = \sqrt{1 + \frac{2EL^2}{mk^2}}.

To je enačba stožnice, kjer opazimo, da je najbolj pomemben parameter ee, ki mu pravimo ekscentričnost. Opazimo, da je ta predvsem odvisen od energije in vrtilne količine sistema. To pomeni, da če imamo sistem z dvema telesoma in jima ne spreminjamo mase, je zelo pomembno kako se v določenih točkah ti dve telesi premikata (se pravi tudi če imamo dva primera, kjer sta hitrosti enaki, je zelo pomembna tudi orientacija vektorjev teh hitrosti).

Source
import numpy as np
import matplotlib.pyplot as plt

C = 1.0
theta_prime = 0

theta = np.linspace(-np.pi + 0.01, np.pi - 0.01, 2000)

R = 1 / C

plt.figure(figsize=(6,6))

for e in [0, 0.7, 1.0, 1.5]:
    r = (1+e) / (C * (1 + e * np.cos(theta - theta_prime)))
    
    mask = np.isfinite(r) & (r > 0)
    theta_valid = theta[mask]
    r_valid = r[mask]

    x = r_valid * np.cos(theta_valid)
    y = r_valid * np.sin(theta_valid)
    plt.plot(x, y, label=f"e = {e}")

plt.grid()
plt.legend()
plt.title("Stožnice z različnimi $e$")

plt.xlim(-3, 3)
plt.ylim(-3, 3)

plt.show()
<Figure size 600x600 with 1 Axes>

Na zgornji sliki so vse oblike premaknjene, tako da so si vse tangencialne v točki (1, 0). Kot vidimo, se orbite z večanjem ekscentričnosti oddaljujejo od krožnice. Zaradi enostavnosti najlažje vrtilno količino orbite izračunamo v tej točki - z drugim imenom ji rečemo tudi teme ali vrh. Če pogledamo enačbo za stožnico opazimo, da je ta zelo enostavne oblike v dveh primerih: ko je e=0e=0 (takrat ji rečemo krožnica) in ko je e=1e=1 (takrat ji rečemo parabola). V splošnem vezanim/zaključenim oblikam pravimo elipse, prostim/nezaključenim pa hiperbole.

Testna simulacija

Za problem dveh teles lahko ponovno napovemo kako naj bi se gibali telesi zato to uporabimo za še en test simulatorja - pošljimo Zemljo okoli Sonca po trajektorijah na zgornji sliki. Za katerokoli orbito velja formula:

v2=GM(2r1a)v2=4π2(21a); rp=a(1e)=1a=11e.v^2 = GM\left(\frac{2}{r} - \frac{1}{a}\right)\to v^2 = 4\pi^2\left(2 - \frac{1}{a}\right);\ r_p = a(1 - e) = 1\to a = \frac{1}{1 - e}.

Sedaj lahko zelo enostavno dobimo hitrost za vsak primer in to lahko prikažemo v simulatorju.

Source
from simulatorv2 import *
from numpy import sqrt

results = []

G = NewtonianGravity().G

b1 = Presets.sun(Vec2)
b2 = Presets.earth(Vec2)
b2.position = Vec2(1.0, 0)

for e in [0, 0.7, 1.0, 1.5]:
    v = sqrt(G * (1 + e))
    b2.velocity = Vec2(0, v)

    sim = Simulator(
        bodies=[b1, b2],
        timestep=0.001,
        steps=1000
    )

    results.append(sim.run())

viewer = SimulationViewer(
    results,
    ViewerConfig(
        fixed_center=(0, 0),
        trail_length=10000,
        view_size=3
    )
)

viewer.show()
Loading...