86 lines
2.1 KiB
Markdown
86 lines
2.1 KiB
Markdown
|
||
# Symulacja i analiza rzutu ukośnego
|
||
|
||
## Cel projektu
|
||
|
||
Celem projektu jest stworzenie programu w Pythonie, który symuluje rzut ukośny w jednorodnym polu grawitacyjnym bez oporu powietrza. Program oblicza:
|
||
|
||
- trajektorie ruchu na podstawie **dokładnego rozwiązania analitycznego**,
|
||
- przybliżoną trajektorię metodą numeryczną – **metodą Eulera**,
|
||
- oraz porównuje obie metody, analizując dokładność w zależności od kroku czasowego `t`.
|
||
|
||
---
|
||
|
||
## Wymagania
|
||
|
||
Do uruchomienia projektu wymagane są biblioteki:
|
||
|
||
```
|
||
pip install numpy matplotlib
|
||
```
|
||
|
||
---
|
||
|
||
## Struktura plików
|
||
|
||
- `Main.py` – główny plik uruchamiający program
|
||
- `Analityka.py` – obliczenia dokładne (analityczne) na podstawie wzorów fizycznych
|
||
- `Euler.py` – implementacja metody Eulera
|
||
- `Wykresy.py` – rysowanie wykresów porównawczych
|
||
- `Parametry.py` – definiowanie parametrów początkowych (v0, kat, h0, dt)
|
||
|
||
---
|
||
|
||
## Uruchamianie programu
|
||
|
||
Po zainstalowaniu bibliotek, uruchom program wpisując:
|
||
|
||
```
|
||
python main.py
|
||
```
|
||
|
||
---
|
||
|
||
## Wygenerowane wykresy
|
||
|
||
Program generuje dwa wykresy:
|
||
|
||
1. Porównanie trajektorii analitycznej i numerycznej (Euler)
|
||
2. Wykres błędu w zasięgu w zależności od wielkości kroku czasowego `t`
|
||
|
||
### Wykresy:
|
||
- Wykres 1: Trajektoria – analityczna vs Euler
|
||
- 
|
||
- Wykres 2: Blad zasięgu vs t
|
||
- 
|
||
|
||
---
|
||
|
||
## Analiza dokładności
|
||
|
||
Program analizuje, jak krok czasowy wpływa na dokładność metody Eulera:
|
||
|
||
- im mniejsze t, tym mniejszy błąd w zasięgu rzutu,
|
||
- dla zbyt dużych kroków trajektoria znacząco odbiega od wzorcowej.
|
||
|
||
---
|
||
|
||
## Wnioski
|
||
|
||
- Metoda Eulera przy małych krokach daje zadowalającą dokładność.
|
||
- Program pokazuje, jak ważny jest wybór kroku czasowego w metodach numerycznych.
|
||
- Prosta implementacja pozwala zrozumieć podstawy całkowania numerycznego i ruchu w fizyce klasycznej.
|
||
|
||
---
|
||
|
||
## Uwagi techniczne
|
||
|
||
- Symulacja zatrzymuje się automatycznie, gdy ciało spadnie na ziemię (y < 0).
|
||
- Dla bardzo małych t program może działać wolniej (więcej iteracji).
|
||
|
||
---
|
||
|
||
## Autor
|
||
|
||
Patryk Zamorski
|