SimRzutUkosny/Euler.py
2025-05-16 19:01:31 +02:00

25 lines
582 B
Python

# Rozwiazanie numeryczne przy uzyciu metody Eulera
import numpy as np
def metodaEulera(v0, theta, h0, dt):
# wartosc przyspieszenia ziemskiego
g = 9.81
theta_rad = np.radians(theta)
# Inicjalizacja pozycji i predkosci
x, y = 0.0, h0
vx = v0 * np.cos(theta_rad)
vy = v0 * np.sin(theta_rad)
# lista punktow trajektorii
trajektoria = [(x, y)]
# Petla obliczajaca kolejne punkty az do upadku
while y >= 0:
x += vx * dt
y += vy * dt
vy -= g * dt
trajektoria.append((x, y))
return np.array(trajektoria)