def gravitation(obj): a = [0, 0, 0] for obj_ in objects: # Einfluss aller anderen Objekte wird berechnet if obj != obj_: nvector_l = sqrt( (obj_.pos[0] - obj.pos[0]) ** 2 + (obj_.pos[1] - obj.pos[1]) ** 2 + (obj_.pos[2] - obj.pos[2]) ** 2) nvector = ((obj_.pos[0] - obj.pos[0]) / nvector_l, (obj_.pos[1] - obj.pos[1]) / nvector_l, (obj_.pos[2] - obj.pos[2]) / nvector_l) acc = G * (obj_.m / (nvector_l ** 2)) a[0] += acc * nvector[0] a[1] += acc * nvector[1] # Normalenvektor wird berechnet und mit der Beschleunigung multipliziert a[2] += acc * nvector[2] return a # nach Durchlauf aller Objekte wird der Beschleunigungsvektor zurückgegeben