Skip to content
Snippets Groups Projects
Commit f7a50389 authored by Benjamin-Sitbon's avatar Benjamin-Sitbon
Browse files

comments

parent 39c046a0
Branches
No related tags found
No related merge requests found
......@@ -10,9 +10,10 @@
</component>
<component name="ChangeListManager">
<list default="true" id="43aff179-c306-46b9-b69f-eca5306fbf96" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Box.h" beforeDir="false" afterPath="$PROJECT_DIR$/Box.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/quad_tree.c" beforeDir="false" afterPath="$PROJECT_DIR$/quad_tree.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Box.c" beforeDir="false" afterPath="$PROJECT_DIR$/Box.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Star.c" beforeDir="false" afterPath="$PROJECT_DIR$/Star.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Star.h" beforeDir="false" afterPath="$PROJECT_DIR$/Star.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/galaxy.c" beforeDir="false" afterPath="$PROJECT_DIR$/galaxy.c" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
......@@ -25,8 +26,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Box.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="85">
<caret line="44" selection-start-line="44" selection-end-line="50" selection-end-column="1" />
<state relative-caret-position="1088">
<caret line="64" column="58" selection-start-line="64" selection-start-column="58" selection-end-line="64" selection-end-column="58" />
</state>
</provider>
</entry>
......@@ -43,8 +44,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Star.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="833">
<caret line="79" selection-start-line="79" selection-end-line="79" />
<state relative-caret-position="323">
<caret line="40" column="44" selection-start-line="40" selection-start-column="44" selection-end-line="40" selection-end-column="44" />
</state>
</provider>
</entry>
......@@ -52,17 +53,17 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Star.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="340">
<caret line="20" selection-start-line="20" selection-end-line="20" />
<state relative-caret-position="153">
<caret line="9" selection-start-line="9" selection-end-line="9" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/galaxy.c">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret selection-end-line="4" selection-end-column="17" />
<state relative-caret-position="442">
<caret line="95" column="74" selection-start-line="95" selection-start-column="74" selection-end-line="95" selection-end-column="74" />
</state>
</provider>
</entry>
......@@ -76,7 +77,7 @@
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/quad_tree.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="155">
......@@ -124,16 +125,16 @@
<option value="$PROJECT_DIR$/Vector_Test.c" />
<option value="$PROJECT_DIR$/Vector.h" />
<option value="$PROJECT_DIR$/Vector.c" />
<option value="$PROJECT_DIR$/Star.c" />
<option value="$PROJECT_DIR$/Star.h" />
<option value="$PROJECT_DIR$/galaxy.h" />
<option value="$PROJECT_DIR$/galaxy.c" />
<option value="$PROJECT_DIR$/galaxy_simulation.c" />
<option value="$PROJECT_DIR$/Box.c" />
<option value="$PROJECT_DIR$/makefile" />
<option value="$PROJECT_DIR$/quad_tree.h" />
<option value="$PROJECT_DIR$/Box.h" />
<option value="$PROJECT_DIR$/quad_tree.c" />
<option value="$PROJECT_DIR$/Box.c" />
<option value="$PROJECT_DIR$/Star.h" />
<option value="$PROJECT_DIR$/Star.c" />
<option value="$PROJECT_DIR$/galaxy.c" />
</list>
</option>
</component>
......@@ -191,12 +192,12 @@
<option name="presentableId" value="Default" />
<updated>1559227081243</updated>
<workItem from="1559227084365" duration="53793000" />
<workItem from="1560336527698" duration="37316000" />
<workItem from="1560336527698" duration="38917000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="91109000" />
<option name="totallyTimeSpent" value="92710000" />
</component>
<component name="ToolWindowManager">
<frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
......@@ -260,73 +261,73 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Star.c">
<entry file="file://$PROJECT_DIR$/makefile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="833">
<caret line="79" selection-start-line="79" selection-end-line="79" />
<state relative-caret-position="119">
<caret line="7" lean-forward="true" selection-start-line="7" selection-end-line="7" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/galaxy.c">
<entry file="file://$PROJECT_DIR$/galaxy_simulation.c">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret selection-end-line="4" selection-end-column="17" />
<state relative-caret-position="68">
<caret line="4" column="21" selection-start-line="4" selection-start-column="21" selection-end-line="4" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Star.h">
<entry file="file://$PROJECT_DIR$/Box.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="340">
<caret line="20" selection-start-line="20" selection-end-line="20" />
<state relative-caret-position="187">
<caret line="11" column="37" selection-start-line="11" selection-start-column="37" selection-end-line="11" selection-end-column="37" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Box.c">
<entry file="file://$PROJECT_DIR$/galaxy.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="85">
<caret line="44" selection-start-line="44" selection-end-line="50" selection-end-column="1" />
<state relative-caret-position="340">
<caret line="20" column="15" selection-start-line="20" selection-start-column="15" selection-end-line="20" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Box.h">
<entry file="file://$PROJECT_DIR$/quad_tree.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="187">
<caret line="11" column="37" selection-start-line="11" selection-start-column="37" selection-end-line="11" selection-end-column="37" />
<state relative-caret-position="155">
<caret line="10" column="4" selection-start-line="10" selection-start-column="4" selection-end-line="10" selection-end-column="4" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/makefile">
<entry file="file://$PROJECT_DIR$/quad_tree.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="119">
<caret line="7" lean-forward="true" selection-start-line="7" selection-end-line="7" />
<state relative-caret-position="238">
<caret line="14" column="35" selection-start-line="14" selection-start-column="35" selection-end-line="14" selection-end-column="35" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/galaxy_simulation.c">
<entry file="file://$PROJECT_DIR$/Star.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="68">
<caret line="4" column="21" selection-start-line="4" selection-start-column="21" selection-end-line="4" selection-end-column="21" />
<state relative-caret-position="153">
<caret line="9" selection-start-line="9" selection-end-line="9" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/galaxy.h">
<entry file="file://$PROJECT_DIR$/Box.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="340">
<caret line="20" column="15" selection-start-line="20" selection-start-column="15" selection-end-line="20" selection-end-column="15" />
<state relative-caret-position="1088">
<caret line="64" column="58" selection-start-line="64" selection-start-column="58" selection-end-line="64" selection-end-column="58" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/quad_tree.h">
<entry file="file://$PROJECT_DIR$/Star.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="238">
<caret line="14" column="35" selection-start-line="14" selection-start-column="35" selection-end-line="14" selection-end-column="35" />
<state relative-caret-position="323">
<caret line="40" column="44" selection-start-line="40" selection-start-column="44" selection-end-line="40" selection-end-column="44" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/quad_tree.c">
<entry file="file://$PROJECT_DIR$/galaxy.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="155">
<caret line="10" column="4" selection-start-line="10" selection-start-column="4" selection-end-line="10" selection-end-column="4" />
<state relative-caret-position="442">
<caret line="95" column="74" selection-start-line="95" selection-start-column="74" selection-end-line="95" selection-end-column="74" />
</state>
</provider>
</entry>
......
......@@ -52,14 +52,17 @@ double mid_point(double a, double b){
box *divide_in_four(box b){
//On détermine le milieu en x et en y
double x_mid = mid_point(b.x0,b.x1);
double y_mid = mid_point(b.y0,b.y1);
//Puis on les utilise pour déterminé nos 4 nouvelles boxs
box b1 = new_box(b.x0,x_mid,y_mid,b.y1);
box b2 = new_box(x_mid,b.x1,y_mid,b.y1);
box b3 = new_box(b.x0,x_mid,b.y0,y_mid);
box b4 = new_box(x_mid,b.x1,b.y0,y_mid);
//Ensuite on créer un tableau où l'on stocke les 4 box
box *tab = malloc(4*sizeof(tab));
tab[0]= b1;
tab[1]= b2;
......
......@@ -38,9 +38,11 @@ void print_star(const star *const s){
star *new_star_vel(vec pos, vec vel, vec acc, double mass,double dt){
//Allocation de la mémoire pour l'étoile
star *new_star = malloc(sizeof(star));
new_star->mass = mass;
new_star->pos_t = pos;
//pos_t_dt = pos_t - dt * vel
vec *pos_t_dt = sub_vec(&pos,mul_vec(dt,&vel));
new_star->pos_t_dt.x = pos_t_dt->x;
new_star->pos_t_dt.y = pos_t_dt->y;
......@@ -52,6 +54,7 @@ star *new_star_vel(vec pos, vec vel, vec acc, double mass,double dt){
void reset_acceleration(star *s){
//Est ce je dois vraiment expliquer ça?
s->acc.y = 0.0;
s->acc.x = 0.0;
......@@ -59,11 +62,13 @@ void reset_acceleration(star *s){
void update_acceleration(star *s, const star *const s2) {
//Calcul de la force Fij s'éxercant entre 2 corps i et j
vec sub = sub_vect(s2->pos_t,s->pos_t);
double n = pow(norme(sub),3);
vec F = mul_vect(6.67e-11 * s->mass * s2->mass, sub);
F = mul_vect(1/n,F);
//a = Fi/mi (normalement la somme des forces mais en l'occurence il n'y a qu'une seule étoile)
s->acc = mul_vect(1/s->mass,F);
}
......@@ -71,10 +76,11 @@ void update_acceleration(star *s, const star *const s2) {
void update_position(star *s, double dt){
//pos_t = 2*pos_t - pos_t_dt + acc * dt * dt
s->pos_t = add_vect(sub_vect(mul_vect(2,s->pos_t),s->pos_t),mul_vect(dt*dt,s->acc));
}
//pos_t = 2*pos_t - pos_t_dt + acc * dt * dt
......
......@@ -7,8 +7,7 @@ typedef struct star {
//Création d’une nouvelle étoile à la position pos_t, vitesse vel, accélération acc, masse mass et dt la discrétisation temporelle:
star *new_star_vel(vec pos, vec vel, vec acc, double mass,double dt);
//On initialisera pos_t_dt à l’aide de la relation (en pseudo-code)
//pos_t_dt = pos_t - dt * vel
//Remise à zéro de l’accélération d’une étoile:
void reset_acceleration(star *s);
......
......@@ -8,15 +8,18 @@
galaxy *create_and_init_galaxy(int num_bodies, box b,double dt){
//Allocation de la mémoire pour la galaxie
galaxy* new_gal = malloc(sizeof(galaxy));
new_gal->num_bodies = num_bodies;
new_gal->b = b;
//Afin de générer des valeurs aléatoires
srand ( time ( NULL));
//Allocation de la mémoire pour le tableau d'étoiles
star** tab = malloc(num_bodies* sizeof(star*));
for(int i = 0; i<num_bodies;i++){
//Chaque étoile du tableau est entré avec des valeurs aléatoire pour sa position
tab[i] = new_star_vel((vec){rand()%(int)b.x1,rand()%(int)b.y1},(vec){1.0,1.0},(vec){0.0,0.0},100000,dt);
}
......@@ -65,25 +68,32 @@ void update_positions(galaxy *g, double dt){
void resize_galaxy(galaxy *g){
//Valeur pour vérifier combien d'étoile sont sorti de la box
int compt = 0;
for(int i = 0; i<g->num_bodies; i++){
//Si l'étoile n'est pas dans la box on compte
if(!is_inside(g->b,g->stars[i]->pos_t)){
compt++;
}
}
//Création d'un nouveau tableau avec le nombre d'étoile en moins
int new_size = g->num_bodies-compt;
star** tab = malloc(new_size* sizeof(star*));
compt = 0;
for(int i = 0; i<g->num_bodies; i++){
//Même condition que dans l'autre boucle
if(!is_inside(g->b,g->stars[i]->pos_t)){
//On incrémente pour connaître la position dans le nouveau tableau
compt++;
continue;
}
//On met les étoiles qui sont toujours dans la box dans le nouveau tableau
tab[i-compt] = g->stars[i];
}
//On remplace le tableau
g->stars = tab;
//Et on change la variable du nombre d'étoile pour qu'elle soit juste
g->num_bodies = new_size;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment