Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 1-test-vec-to-coordinates
  • master
  • patch-1
3 results

Target

Select target project
  • jessica.estevesm/isc_physics
  • michael.elkharro/isc_physics
  • philippe.montando/isc_physics
  • william.rodrigue/isc_physics
  • orestis.malaspin/isc_physics
  • lucas.landrecy/isc_physics
  • jean.vouillam/isc_physics
  • alexandr.benzonan/isc_physics
  • farouq.obaly/isc_physics
  • richarda.tyarks/isc_physics
  • sasha.crockett/isc_physics
  • jeremy.meissner/isc_physics
  • tom.andrivet/isc_physics
  • elio.marconi/isc_physics
  • iliya.saroukha/isc_physics
  • arian.dervisha/isc_physics
16 results
Select Git revision
  • 1-test-vec-to-coordinates
  • master
  • patch-1
3 results
Show changes
Commits on Source (8)
...@@ -182,7 +182,7 @@ Dans le cadre de ce travail pratique, vous allez devoir implementer une simulati ...@@ -182,7 +182,7 @@ Dans le cadre de ce travail pratique, vous allez devoir implementer une simulati
Si toutefois vous décidiez de prendre ce squelette (excellente décision, je vous en félicite), une fois téléchargé et décompressé, vous devrez effectuer les actions suivantes : Si toutefois vous décidiez de prendre ce squelette (excellente décision, je vous en félicite), une fois téléchargé et décompressé, vous devrez effectuer les actions suivantes :
1. Remplacer le fichier `skeleton/vec2/vec2.c` par celui que vous avez réalisé durant un précédent travail pratique. 1. Remplacer le fichier `skeleton/vec2/vec2.c` par celui que vous avez réalisé durant un précédent travail pratique.
2. Prendre connaissance des fichiers `skeleton/planet/planet.h` et `skeleton/main.c`. Ces fichiers contiennent des commentaires pour vous guider. 2. Prendre connaissance des fichiers `skeleton/celestial_body/celestial_body.h` et `skeleton/main.c`. Ces fichiers contiennent des commentaires pour vous guider.
3. Réaliser le travail pratique. 3. Réaliser le travail pratique.
Ce travail est séparé en deux parties, qui valent respectivement 4.5 et 1.5 points (Pour un total de 6 (c'est dingue !!!)). Ce travail est séparé en deux parties, qui valent respectivement 4.5 et 1.5 points (Pour un total de 6 (c'est dingue !!!)).
......
...@@ -5,11 +5,11 @@ CFLAGS:=-g -Ofast -Wall -Wextra -fsanitize=address -fsanitize=leak -std=gnu11 ...@@ -5,11 +5,11 @@ CFLAGS:=-g -Ofast -Wall -Wextra -fsanitize=address -fsanitize=leak -std=gnu11
#The flags passed to the linker #The flags passed to the linker
LDFLAGS:=-lm -lSDL2 LDFLAGS:=-lm -lSDL2
#Path to the lib Vec2 #Path to the lib Vec2
VPATH:=vec2 gfx planet VPATH:=vec2 gfx celestial_body
main: main.o vec2.o gfx.o planet.o main: main.o vec2.o gfx.o celestial_body.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
run_tests: tests run_tests: tests
...@@ -18,7 +18,7 @@ run_tests: tests ...@@ -18,7 +18,7 @@ run_tests: tests
tests: vec_tests.o vec2.o tests: vec_tests.o vec2.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
planet.o: planet.h celestial_body.o: celestial_body.h
vec2.o: vec2.h vec2.o: vec2.h
......
#include "planet.h" #include "celestial_body.h"
#include <stdlib.h> #include <stdlib.h>
#define G 6.67e-11 #define G 6.67e-11
......
#ifndef _PLANET_H_ #ifndef _CELESTIAL_BODY_H_
#define _PLANET_H_ #define _CELESTIAL_BODY_H_
#include "../vec2/vec2.h" #include "../vec2/vec2.h"
#include "../gfx/gfx.h" #include "../gfx/gfx.h"
typedef struct _planet typedef struct _celestial_body
{ {
double mass; double mass;
vec2 pos; // x(t) vec2 pos; // x(t)
vec2 prec_pos; // x(t - dt) vec2 prec_pos; // x(t - dt)
} planet_t; } celestial_body_t;
typedef struct _system typedef struct _system
{ {
planet_t star; // ex. The sun celestial_body_t star; // ex. The sun
uint32_t nb_planets; // The number of orbiting planets uint32_t nb_planets; // The number of orbiting planets
planet_t *planets; // An array of orbiting planets celestial_body_t *planets; // An array of orbiting planets
} system_t; } system_t;
// Those function are not mandatory to implement, // Those function are not mandatory to implement,
// it's rather a hint of what you should have. // it's rather a hint of what you should have.
planet_t create_planet(double mass, vec2 pos); celestial_body_t create_celestial_body(double mass, vec2 pos);
system_t create_system(double delta_t); system_t create_system(double delta_t);
void show_system(struct gfx_context_t *ctxt, system_t *system); void show_system(struct gfx_context_t *ctxt, system_t *system);
void update_system(system_t *system, double delta_t); void update_system(system_t *system, double delta_t);
......
#include "gfx/gfx.h" #include "gfx/gfx.h"
#include "vec2/vec2.h" #include "vec2/vec2.h"
#include "planet/planet.h" #include "celestial_body/celestial_body.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <time.h> #include <time.h>
......