Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Góra Newtona

Symulacja działa Newtona z rysowaniem trajektorii lotu.

Jak wystartować (instrukcje pod Linuxa):

Wpierw należy pobrać repo:

git clone https://github.com/xorgzz/Gora_Newtona

Potem należy pobrać potrzebne biblioteki:

cd Gora_Newtona && python3 -m pip install -r requirements.txt

Żeby wystartować progmram:

python3 main.py

Program powinien wystartować na pełen ekran.
image

Aspekt Fizyczny Programu

Symulacja opiera się na klasycznej mechanice Newtona i wykorzystuje metodę numeryczną (Eulera-Cromera) do całkowania równań ruchu. Poniżej znajdują się kluczowe wzory użyte w kodzie.

1. Przyspieszenie Grawitacyjne (Wektorowo)

Zgodnie z prawem powszechnego ciążenia, przyspieszenie grawitacyjne jest zawsze skierowane do środka masy (środka układu współrzędnych). Wersja wektorowa, którą optymalizujemy w kodzie (dzieląc przez $r^3$ i mnożąc przez wektor pozycji), wygląda następująco:

$$ \vec{a} = -\frac{GM}{r^3} \vec{r} $$

Rozłożone na składowe osi X i Y:

$$ a_x = -\frac{GM}{r^3} x $$ $$ a_y = -\frac{GM}{r^3} y $$

Gdzie:

  • $G$ - Stała grawitacyjna ($6.67430 \times 10^{-11} \text{ m}^3\text{kg}^{-1}\text{s}^{-2}$)
  • $M$ - Masa planety (np. dla Ziemi $5.972 \times 10^{24} \text{ kg}$)
  • $r$ - Aktualna odległość kuli od środka planety

2. Odległość od Środka Planety

Odległość $r$ wyliczana jest w każdym kroku z twierdzenia Pitagorasa:

$$ r = \sqrt{x^2 + y^2} $$

3. Warunki Początkowe (Rozkład Prędkości)

Aby wystrzelić kulę pod dowolnym kątem, prędkość początkowa $v_0$ jest rozkładana na wektory za pomocą funkcji trygonometrycznych:

$$ v_x = v_0 \cdot \cos(\alpha) $$ $$ v_y = v_0 \cdot \sin(\alpha) $$

Gdzie $\alpha$ to kąt rzutu wyrażony w radianach.

4. Metoda Numeryczna (Całkowanie Eulera-Cromera)

Aby wprawić kulę w ruch, program w każdym kroku pętli (co czas $\Delta t$) aktualizuje jej prędkość oraz pozycję. Użyta metoda Eulera-Cromera zapewnia lepszą stabilność dla orbit niż standardowa metoda Eulera:

Aktualizacja prędkości:

$$ v_{x(new)} = v_x + a_x \cdot \Delta t $$ $$ v_{y(new)} = v_y + a_y \cdot \Delta t $$

Aktualizacja pozycji:

$$ x_{new} = x + v_{x(new)} \cdot \Delta t $$ $$ y_{new} = y + v_{y(new)} \cdot \Delta t $$

5. Prędkości Kosmiczne (Referencyjne)

Do określenia zachowania kuli armatniej wykorzystywane są dwie graniczne prędkości (wyliczane z odległości startowej $r_0 = R + h$):

Pierwsza prędkość kosmiczna (orbita kołowa):

$$ v_I = \sqrt{\frac{GM}{r_0}} $$

Druga prędkość kosmiczna (prędkość ucieczki):

$$ v_{II} = \sqrt{\frac{2GM}{r_0}} $$

Kilka zdjęć przedstawiąjących działanie prgramu

image image image

About

Symulacja Działa Newtona

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages