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

quad tree

parent 802ff3c3
No related branches found
No related tags found
No related merge requests found
......@@ -11,15 +11,8 @@
<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.o" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Star.o" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Vector.o" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/galaxy.o" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/galaxy_simulation.c" beforeDir="false" afterPath="$PROJECT_DIR$/galaxy_simulation.c" afterDir="false" />
<change beforePath="$PROJECT_DIR$/galaxy_simulation.o" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/makefile" beforeDir="false" afterPath="$PROJECT_DIR$/makefile" 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$/quad_tree.h" beforeDir="false" afterPath="$PROJECT_DIR$/quad_tree.h" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
......@@ -32,8 +25,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="272">
<caret line="55" column="40" lean-forward="true" selection-start-line="55" selection-start-column="40" selection-end-line="55" selection-end-column="40" />
<state relative-caret-position="85">
<caret line="44" selection-start-line="44" selection-end-line="50" selection-end-column="1" />
</state>
</provider>
</entry>
......@@ -41,8 +34,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Box.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="204">
<caret line="12" column="26" selection-start-line="12" selection-start-column="26" selection-end-line="12" selection-end-column="26" />
<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>
......@@ -83,29 +76,29 @@
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/galaxy_simulation.c">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/quad_tree.c">
<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="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>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/quad_tree.c">
<entry file="file://$PROJECT_DIR$/quad_tree.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" column="49" selection-start-line="9" selection-start-column="49" selection-end-line="9" selection-end-column="49" />
<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>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/quad_tree.h">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/galaxy_simulation.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="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>
......@@ -113,8 +106,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/makefile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="51">
<caret line="3" column="71" selection-start-line="3" selection-start-column="71" selection-end-line="3" selection-end-column="71" />
<state relative-caret-position="119">
<caret line="7" lean-forward="true" selection-start-line="7" selection-end-line="7" />
</state>
</provider>
</entry>
......@@ -133,14 +126,14 @@
<option value="$PROJECT_DIR$/Vector.c" />
<option value="$PROJECT_DIR$/Star.c" />
<option value="$PROJECT_DIR$/Star.h" />
<option value="$PROJECT_DIR$/Box.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.c" />
<option value="$PROJECT_DIR$/quad_tree.h" />
<option value="$PROJECT_DIR$/Box.h" />
<option value="$PROJECT_DIR$/quad_tree.c" />
</list>
</option>
</component>
......@@ -198,12 +191,12 @@
<option name="presentableId" value="Default" />
<updated>1559227081243</updated>
<workItem from="1559227084365" duration="53793000" />
<workItem from="1560336527698" duration="32701000" />
<workItem from="1560336527698" duration="37316000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="86494000" />
<option name="totallyTimeSpent" value="91109000" />
</component>
<component name="ToolWindowManager">
<frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
......@@ -274,6 +267,13 @@
</state>
</provider>
</entry>
<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>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Star.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="340">
......@@ -281,31 +281,31 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Box.h">
<entry file="file://$PROJECT_DIR$/Box.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="204">
<caret line="12" column="26" selection-start-line="12" selection-start-column="26" selection-end-line="12" selection-end-column="26" />
<state relative-caret-position="85">
<caret line="44" selection-start-line="44" selection-end-line="50" selection-end-column="1" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Box.c">
<entry file="file://$PROJECT_DIR$/Box.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="272">
<caret line="55" column="40" lean-forward="true" selection-start-line="55" selection-start-column="40" selection-end-line="55" selection-end-column="40" />
<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$/makefile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="51">
<caret line="3" column="71" selection-start-line="3" selection-start-column="71" selection-end-line="3" selection-end-column="71" />
<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>
......@@ -316,24 +316,17 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/galaxy_simulation.c">
<entry file="file://$PROJECT_DIR$/quad_tree.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="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$/quad_tree.c">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" column="49" selection-start-line="9" selection-start-column="49" selection-end-line="9" selection-end-column="49" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/quad_tree.h">
<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="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>
......
......@@ -9,6 +9,8 @@ box new_box(double x0, double x1, double y0, double y1);
//Division d’une box en quatre parties égales
box *divide_in_four(box b);
double mid_point(double a, double b);
//Déterminer si une position est à l’intérieur de la box
bool is_inside(box b, vec v);
......
Box.o 0 → 100644
File added
Star.o 0 → 100644
File added
Vector.o 0 → 100644
File added
galaxy.o 0 → 100644
File added
......@@ -7,7 +7,40 @@
quad_tree *create_quad_tree_from_galaxy(const galaxy *const g){
quad_tree* galaxy = malloc(sizeof(quad_tree));
quad_tree* galaxy = malloc(sizeof(quad_tree*));
node *root = malloc(sizeof(node*));
galaxy->root->b = g->b;
galaxy->root->is_empty = true;
galaxy->root->s = NULL;
galaxy->root->children = NULL;
galaxy->root->super_s = new_star_vel((vec){mid_point(g->b.x0,g->b.x1),mid_point(g->b.y0,g->b.y1)},(vec){0.0,0.0},(vec){0.0,0.0},0.0,0.0);
}
void insert_star(node *n, star *s){
if(is_inside(n->b,s) && n!=NULL){
if(n->children==NULL) {
if (n->is_empty) {
n->s = s;
n->is_empty = false;
} else {
box *zones = divide_in_four(n->b);
node *childs = malloc(4 * sizeof(node *));
for (int i = 0; i < 4; i++) {
childs[i]->b = zones[i];
childs[i]->is_empty = true;
insert_star(childs[i], n->s);
insert_star(childs[i], s);
}
n->children = childs;
n->s = NULL;
}
}else{
n->super_s->mass += s->mass;
for (int i = 0; i < 4; i++) {
insert_star(n->children,s);
}
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment