From f56741a124cb3545dac3917167f890f0ff80183c Mon Sep 17 00:00:00 2001 From: Florian Burgener <florian.brgnr@gmail.com> Date: Wed, 22 Dec 2021 00:03:55 +0100 Subject: [PATCH] Add comment --- src/CelestialObject.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/CelestialObject.c b/src/CelestialObject.c index 14245a4..e7416c5 100644 --- a/src/CelestialObject.c +++ b/src/CelestialObject.c @@ -58,6 +58,7 @@ Vector2 calculate_gravitational_acceleration(int32_t object_index, CelestialObje Vector2 r = vector2_substract((i < object_index) ? objects[i]->previous_position : objects[i]->position, objects[object_index]->position); // Calculates the acceleration. double a_scalar = G * objects[i]->mass * pow(pow(vector2_norm(r), 2), -1); + // Sum the acceleration. a = vector2_add(a, vector2_multiply(vector2_normalize(r), a_scalar)); } @@ -69,12 +70,12 @@ void celestial_object_first_update(int32_t object_index, CelestialObject **objec CelestialObject *main_object = objects[main_object_index]; // Speed at the periapsis. - double periapsis_speed_scalar = sqrt((G * main_object->mass * (1 + object->eccentricity)) / (object->semi_major_axis * (1 - object->eccentricity))); + double periapsis_speed = sqrt((G * main_object->mass * (1 + object->eccentricity)) / (object->semi_major_axis * (1 - object->eccentricity))); // Adds the speed of the main object. - periapsis_speed_scalar += vector2_norm(vector2_substract(main_object->position, main_object->previous_position)); + periapsis_speed += vector2_norm(vector2_substract(main_object->position, main_object->previous_position)); Vector2 r = vector2_normalize(vector2_create(object->position.y, -object->position.x)); - Vector2 periapsis_velocity = vector2_multiply(r, periapsis_speed_scalar); + Vector2 periapsis_velocity = vector2_multiply(r, periapsis_speed); // Adds the position of the main object. object->position = vector2_add(object->position, main_object->previous_position); @@ -82,7 +83,7 @@ void celestial_object_first_update(int32_t object_index, CelestialObject **objec // Calculates the new position of the object according to its velocity at periapsis. Vector2 new_position = vector2_add(object->position, periapsis_velocity); Vector2 a = calculate_gravitational_acceleration(object_index, objects, objects_length); - // Adds the acceleration. + // Apply the acceleration. new_position = vector2_add(new_position, vector2_multiply(a, 0.5)); object->previous_position = object->position; -- GitLab