From 42e569f53c9094d521d491ea61eddbe993a59886 Mon Sep 17 00:00:00 2001
From: "arnaud.devevey" <arnaud.de-vevey@etu.hesge.ch>
Date: Mon, 17 Jun 2019 19:09:50 +0200
Subject: [PATCH] 19h

---
 perso/Makefile |   6 +--
 perso/box.c    |  14 +++----
 perso/box.h    |   3 +-
 perso/galaxy   | Bin 28472 -> 88896 bytes
 perso/galaxy.c |  45 +++++++++------------
 perso/galaxy.h |  20 +++------
 perso/star.c   | 107 +++++++++++++++++++++++++++----------------------
 perso/star.h   |   6 +--
 8 files changed, 93 insertions(+), 108 deletions(-)

diff --git a/perso/Makefile b/perso/Makefile
index 8639da9..316b1fc 100644
--- a/perso/Makefile
+++ b/perso/Makefile
@@ -2,9 +2,9 @@ CC = gcc
 CARGS = -g -std=c11 -Wall -Wextra -fsanitize=address -fsanitize=leak -fsanitize=undefined 
 LARGS = -lm -lSDL2
 
-all = box galaxy quadtree star vector
+all : galaxy
 
-galaxy : galaxy.o box.o quadtree.o star.o vector.o
+galaxy : vector.o box.o star.o galaxy.o quadtree.o
 	$(CC) $(CARGS) -o galaxy $^ $(LARGS)
 
 
@@ -27,7 +27,7 @@ vector.o : vector.c
 clean :
 	rm -f *.o galaxy
 
-
+re : clean all
 
 # --- RAPPELS ---
 # fichier.o : fichier objet (fichier .c compilé)
diff --git a/perso/box.c b/perso/box.c
index 2a21e0d..e7da8e3 100644
--- a/perso/box.c
+++ b/perso/box.c
@@ -35,12 +35,13 @@ Box new_box(double new_x0, double new_y0, double new_x1, double new_y1) {
 Box* divide_in_four(Box box) {
 	/*
 
-	(x0 ; y0)
+(x0 ; y0)
 	 -------------------
 	|					|
 	|					|
 	|					|
-	 ------------------- (x1 ; y1)
+	 ------------------- 
+	 				(x1 ; y1)
 
 	box0 (ul) : (x0;y0) 	(x1/2;y1/2)
 	box1 (ur) : (x1/2;y0) 	(x1;y1/2)
@@ -54,17 +55,12 @@ Box* divide_in_four(Box box) {
 	Box b2 = new_box(box.x0, 		box.y1/2.0, 	box.x1/2.0, 	box.y1);
 	Box b3 = new_box(box.x1/2.0, 	box.y1/2.0, 	box.x1, 		box.y1);
 
-	// pointeur ou pas?
 	Box* sub_boxes = malloc(4 * sizeof(Box));
 	sub_boxes[0] = b0;
 	sub_boxes[1] = b1;
 	sub_boxes[2] = b2;
 	sub_boxes[3] = b3;
 
-
-
-
-
 	return sub_boxes;
 }
 
@@ -108,20 +104,20 @@ void tests_box() {
 	Box b1 = new_box(0.0, 0.0, 3.0, 3.0);
 	Box* b2 = divide_in_four(b1);
 
-
 	tests_box_divide(b2);
-
 	tests_box_include(b1);
 
 	free(b2);
 	printf("\n");
 }
 
+
 void tests_box_divide(Box* b) {
 	Box box_test = new_box(1.5, 0.0, 3.0, 1.5);
 	TEST(box_test.x0 == b[1].x0 && box_test.x1 == b[1].x1 && box_test.y0 == b[1].y0 && box_test.y1 == b[1].y1);
 }
 
+
 void tests_box_include(Box b1) {
 	Vector* vector = new_vec(1.0, 2.0);
 	TEST(is_inside(b1, *vector));
diff --git a/perso/box.h b/perso/box.h
index 48a5a5d..d7ae311 100644
--- a/perso/box.h
+++ b/perso/box.h
@@ -16,6 +16,8 @@ typedef struct __box {
 
 
 
+
+
 /* * * * * * * * * * * * * * * * *
 * 						    	 *
 *       --- PROTOTYPES ---       *
@@ -39,7 +41,6 @@ void print_box(Box box);
 
 
 void tests_box();
-// void tests_box_new(Box b);
 void tests_box_divide(Box* b);
 void tests_box_include(Box b);
 
diff --git a/perso/galaxy b/perso/galaxy
index 28e639b86f069e6be68216aef884df0304c25a08..6ab26c579dca97930f6e92613b08433c8d1550ca 100755
GIT binary patch
literal 88896
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
WK!^J>Ffi<aX#g1t%_~qQm;wN@lVEEA

literal 28472
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

diff --git a/perso/galaxy.c b/perso/galaxy.c
index 2588f32..2846fb4 100644
--- a/perso/galaxy.c
+++ b/perso/galaxy.c
@@ -5,36 +5,25 @@
 * Date : xx.06.2019			   *
 * * * * * * * * * * * * * * * */
 
-// #include <stdio.h>
-// #include <stdlib.h>
-// #include <string.h>
-// #include <math.h>
-// #include <assert.h>
-// #include <stdint.h>
-// #include <time.h>
-// #include <libgen.h>
-
 #include "galaxy.h"
-
 #include "quadtree.h"
 
 
 
 
 
-
-
 /* * * * * * * * * * * * * * * * *
 * 				                 *
 *           --- MAIN ---         *
 *				                 *
 * * * * * * * * * * * * * * * * */
+
 int main(int argc, char **argv) {
     if (argc == 3) {
 
         // convertit argv[#] en int
         int nb_stars = atoi(argv[1]);
-        double theta = atoi(argv[2]);
+        //double theta = atoi(argv[2]);
 
 
         printf("\n\n");
@@ -81,16 +70,19 @@ int main(int argc, char **argv) {
 * * * * * * * * * * * * * * * * */
 
 Galaxy* create_and_init_galaxy(int nb_bodies, Box box, double delta_t) {
-    Star** list_stars = malloc(sizeof(Star*) * nb_bodies);
-    Vector* v_null = new_vec(0, 0);
-    Star* temp;
+    Star* list_stars = malloc(sizeof(Star) * nb_bodies);
+    Vector v_null = {0, 0};
+    Star temp;
 
     for (int i = 0; i < nb_bodies; i++) {
         
         if (i == 0) {
             // on crée une étoile en (0;0) qui a comme masse 10^6 * masse solaire
-            temp = new_star_vel(*v_null, *v_null, *v_null, 1e6 * MASSE_SOLAIRE, 0.0);
-
+            //temp = *new_star_vel(*v_null, *v_null, *v_null, 1e6 * MASSE_SOLAIRE, delta_t);
+            temp.pos = v_null;
+            temp.previous_pos = v_null;
+            temp.acc = v_null;
+            temp.mass = 1e6 * MASSE_SOLAIRE;
         } else {
             double m_i = random_mass();
             Vector r_i;
@@ -100,13 +92,17 @@ Galaxy* create_and_init_galaxy(int nb_bodies, Box box, double delta_t) {
             Vector v_i = random_speed(r_i, m_i);
             
 
-            temp = new_star_vel(r_i, v_i, *v_null, m_i, 0.0);
+            //temp = *new_star_vel(r_i, v_i, *v_null, m_i, 0.0);
+            temp.pos = r_i;
+            temp.previous_pos = v_i;
+            temp.acc = v_null;
+            temp.mass = m_i;
         }
         
         list_stars[i] = temp;
 
         // on regarde comment cette étoile se fait attirer par le "soleil"
-        update_acc(list_stars[i], list_stars[0]);
+        update_acc(&list_stars[i], &list_stars[0]);
     }
 
 
@@ -139,13 +135,8 @@ void update_pos_galaxy(Galaxy* galaxy, double delta_t) {
 
 
 void free_galaxy(Galaxy* galaxy) {
-    for (int i = 0; i < galaxy -> nb_bodies; i++) {
-        if (!is_inside(galaxy -> box, galaxy -> stars[i].pos)) {
-            free(&(galaxy -> stars[i]));
-            galaxy -> nb_bodies--;
-        }
-    }
-    
+    free(galaxy->stars);
+    free(galaxy);
 }
 
 
diff --git a/perso/galaxy.h b/perso/galaxy.h
index e787e83..7b049aa 100644
--- a/perso/galaxy.h
+++ b/perso/galaxy.h
@@ -8,8 +8,6 @@
 #include "vector.h"
 #include "star.h"
 
-
-
 #define DELTA_T 1e10 // discrétisation temporelle
 
 /* * * * * * * * * * * * * * * * *
@@ -58,19 +56,6 @@ void free_galaxy(Galaxy* galaxy);
 // lorsqu'une étoile s sort de la box de la galaxie, celle-ci doit être effacée du tableau d'étoiles contenu dans la galaxie (et sa mémoire libérée)
 void resize_galaxy(Galaxy* galaxy);
 
-
-
-// fait les tests de toutes les librairies
-void tests();
-void tests_galaxy();
-
-
-
-
-
-
-
-
 void insert_star(Node *n, Star *s);
     /* PSEUDO CODE
     si (s est dans le box de n et n est alloué) {
@@ -102,4 +87,9 @@ void insert_star(Node *n, Star *s);
 
 
 
+
+// fait les tests de toutes les librairies
+void tests();
+void tests_galaxy();
+
 #endif
\ No newline at end of file
diff --git a/perso/star.c b/perso/star.c
index 99b0220..61625d6 100644
--- a/perso/star.c
+++ b/perso/star.c
@@ -45,13 +45,14 @@ void reset_acc(Star* star) {
 
 void update_acc(Star* target, const Star* const s2) {
 	Vector* rj_ri = sub_vec(&(s2 -> pos), &(target -> pos));
-	int G_mi_mj = FORCE_GRAVITATION * target -> mass * s2 -> mass;
+	double G_mi_mj = FORCE_GRAVITATION * target -> mass * s2 -> mass;
 	Vector* temp = mul_vec(rj_ri, G_mi_mj);
-	
-	target -> acc = *mul_vec(temp, (1 / pow(norm(rj_ri), 3)));
+	Vector* acc = mul_vec(temp, (1 / pow(norm(rj_ri), 3)));
+	target -> acc = *acc;
 
 	free(rj_ri);
 	free(temp);
+	free(acc);
 }
 
 
@@ -63,52 +64,6 @@ void update_pos_star(Star* star, double delta_t) {
 }
 
 
-void print_star(const Star* const star) {
-	printf("\tprint_star() : \tposition = (%f ; %f) \n\t\t \
-		position precedente = (%f ; %f) \n\t\t \
-		acceleration = (%f ; %f) \n\t\t \
-		masse = %f \n", star -> pos.x, star -> pos.y, star -> previous_pos.x, star -> previous_pos.y, star -> acc.x, star -> acc.y, star -> mass);
-}
-
-
-
-int random_mass() {
-	return MASSE_MIN + (random_10() * MASSE_SOLAIRE);
-}
-
-
-Vector random_position() {
-	// R * (math.log(1 - random_1()) / 1.8) * chaque composante du vecteur v(0.5 - random_1() ; 0.5 - random_1()) 
-	// où R = math.pow(10, 18) [m] et R(0) est R(0) un nombre aléatoire entre 0 et 1
-	
-	Vector position;
-	double temp = 1e18 * (log(1 - random_1()) / 1.8);
-	position.x = temp * (0.5 - random_1());
-	
-	temp = 1e18 * (log(1 - random_1()) / 1.8);
-	position.y = temp * (0.5 - random_1());
-
-	return position;
-}
-
-
-Vector random_speed(Vector r_i, double m_i) {
-	// math.sqrt(FORCE_GRAVITATION * (star -> mass + )) * chaque composante du vecteur v(-sin(phi) ; cos(phi))
-	// où phi = atan2(star -> position.y / star -> position.x) // tan⁻¹
-
-	Vector* p_norm = new_vec(r_i.x, r_i.y);
-	double temp = sqrt(FORCE_GRAVITATION * (m_i + (1e6 * MASSE_SOLAIRE)) / norm(p_norm));
-	double phi = atan2(r_i.y, r_i.x);
-
-	Vector speed;
-	speed.x = temp * (-sin(phi));
-	speed.y = temp * (cos(phi));
-
-	return speed;
-}
-
-
-
 Star* super_star(Star* list_stars, int selection, int size_list) {
 	Star* super_star = malloc(sizeof(Star));
 
@@ -149,6 +104,7 @@ Vector* resultante(Star** list_stars, int size_list) {
 	return Fi;
 }
 
+
 void new_position(Star* star, Vector resultante) {
 	Vector* acc_tmp = add_vec(&(star -> acc), &resultante);
 	star -> acc = *acc_tmp;
@@ -160,6 +116,59 @@ void new_position(Star* star, Vector resultante) {
 
 
 
+// UTILITAIRES
+
+void print_star(const Star* const star) {
+	printf("\tprint_star() : \tposition = (%f ; %f) \n\t\t \
+		position precedente = (%f ; %f) \n\t\t \
+		acceleration = (%f ; %f) \n\t\t \
+		masse = %f \n", star -> pos.x, star -> pos.y, star -> previous_pos.x, star -> previous_pos.y, star -> acc.x, star -> acc.y, star -> mass);
+}
+
+
+int random_mass() {
+	return MASSE_MIN + (random_10() * MASSE_SOLAIRE);
+}
+
+
+Vector random_position() {
+	// R * (math.log(1 - random_1()) / 1.8) * chaque composante du vecteur v(0.5 - random_1() ; 0.5 - random_1()) 
+	// où R = math.pow(10, 18) [m] et R(0) est R(0) un nombre aléatoire entre 0 et 1
+	
+	Vector position;
+	double temp = 1e18 * (log(1 - random_1()) / 1.8);
+	position.x = temp * (0.5 - random_1());
+	
+	temp = 1e18 * (log(1 - random_1()) / 1.8);
+	position.y = temp * (0.5 - random_1());
+
+	return position;
+}
+
+
+Vector random_speed(Vector r_i, double m_i) {
+	// math.sqrt(FORCE_GRAVITATION * (star -> mass + )) * chaque composante du vecteur v(-sin(phi) ; cos(phi))
+	// où phi = atan2(star -> position.y / star -> position.x) // tan⁻¹
+
+	Vector* p_norm = new_vec(r_i.x, r_i.y);
+	double temp = sqrt(FORCE_GRAVITATION * (m_i + (1e6 * MASSE_SOLAIRE)) / norm(p_norm));
+	double phi = atan2(r_i.y, r_i.x);
+
+	Vector speed;
+	speed.x = temp * (-sin(phi));
+	speed.y = temp * (cos(phi));
+
+	free(p_norm);
+
+	return speed;
+}
+
+
+
+
+
+
+
 int random_10() {
 	return ((rand() % 10) + 1);
 }
diff --git a/perso/star.h b/perso/star.h
index d63c8b6..d50efb3 100644
--- a/perso/star.h
+++ b/perso/star.h
@@ -33,10 +33,10 @@ Star* new_star_vel(Vector pos, Vector speed, Vector acc, double mass, double dt)
 // previous_pos = pos - (dt * speed);
 
 // remet à 0 l'accélération d'une étoile
-void reset_acc_star(Star* star);
+void reset_acc(Star* star);
 
 // met à jour l'accélération d'une étoile cible à cause de l'attraction gravitationnelle d'une autre étoile
-void update_acc_star(Star* target, const Star* const s2);
+void update_acc(Star* target, const Star* const s2);
 
 
 // met à jour la position d'une étoile d'après la discrétisation temporelle
@@ -79,9 +79,7 @@ double random_1();
 
 
 void tests_star();
-
 void tests_star_new(Star* s);
-
 void tests_stars_res(Star* star);
 
 
-- 
GitLab