Stimmt diese Planetenlaufbahn-Approximation? Heyy ich versuche seit einiger Zeit mit Python eine Animation für die Laufbahn von der Erde zu erstellen, aber ich wundere mich, ob mein Ansatz stimmt. 🤔 Ich will ein Python Programm erstellen, wo ich den Exponenten des Radius im Gravitationsgesetz ändern und somit neue Umlaufbahnen zeichnen kann. Dabei stütze ich mich auf die Formel: F = G * (m1 * m2)/r^x. Ich bin mir nicht sicher, ob mein Programm korrekte Laufbahnen zeichnet, da ich nicht sonderlich gut in Physik bin. Der Grundgedanke kann ich nachvollziehen: Bei abnehmender Kraft, wird die Umlaufbahn grösser. Aber ist es normal, dass die Umlaufbahn der Erde bei einer kleinen Exponenten-Änderung von 2 auf 2.02 so viel grösser wird? Falls ja, warum ist das so? Danke im Voraus für eure Hilfe! 😊 LG Leonie Ein Quadrat entspricht hier einer astronomischen Einheit. Hier ist mein Programm: Ich verwende für meine Animation pygame. import pygame import sys import math Das sind die Konstanten, die ich verwende und die Startwerte: G = 6.67430e-11 M_SUN = 1.989e30  M_EARTH = 5.972e24 AU = 1.496e11 TIME_STEP = 43200 x = AU y = 0 vx = 0 vy = 29780 exp_r = float(input"Exponent:")) Die Erstellung des Fensters: pygame.init() WIDTH, HEIGHT = 800, 800 SCALE = WIDTH / (20 * AU)  # Maßstab für die Darstellung screen = pygame.display.set_mode((WIDTH, HEIGHT)) clock = pygame.time.Clock() Mit RK4 approximiere ich die Laufbahn der Erde. Hier sind die Funktionen: def runge_kutta4(t, state, dt):     k1 = deriv(t, state)     k2 = deriv(t + 0.5 * dt, [state[i] + 0.5 * dt * k1[i] for i in range(4)])     k3 = deriv(t + 0.5 * dt, [state[i] + 0.5 * dt * k2[i] for i in range(4)])     k4 = deriv(t + dt, [state[i] + dt * k3[i] for i in range(4)])     return [state[i] + (dt / 6) * (k1[i] + 2 * k2[i] + 2 * k3[i] + k4[i]) for i in range(4)] def draw_grid():     grid_size = AU * SCALE     half_width = WIDTH // 2     half_height = HEIGHT // 2       for i in range(-19, 20):         x_pos = int(half_width + i * grid_size)         pygame.draw.line(screen, (50, 50, 50), (x_pos, 0), (x_pos, HEIGHT))       for i in range(-19, 20):         y_pos = int(half_height + i * grid_size)         pygame.draw.line(screen, (50, 50, 50), (0, y_pos), (WIDTH, y_pos)) Hauptschleife: running = True t = 0 earth_path = [] while running:     for event in pygame.event.get():         if event.type == pygame.QUIT:             running = False     state = [x, y, vx, vy]     x, y, vx, vy = runge_kutta4(t, state, TIME_STEP)     t += TIME_STEP     draw_x = int(WIDTH / 2 + x * SCALE)     draw_y = int(HEIGHT / 2 + y * SCALE)     earth_path.append((draw_x, draw_y))     screen.fill((0, 0, 0))     draw_grid()     pygame.draw.circle(screen, (255, 255, 0), (WIDTH // 2, HEIGHT // 2), 20)     pygame.draw.circle(screen, (0, 0, 255), (draw_x, draw_y), 5)     for px, py in earth_path:         pygame.draw.circle(screen, (0, 255, 0), (px, py), 1)     pygame.display.flip()     clock.tick(60) pygame.quit() sys.exit()