diff --git a/Makefile b/Makefile index 80c1c832f96bfad4726beb81774f30b53cd6aef5..ee2decd3b96844a64fa3f2784c1d9bd357d57e76 100755 --- a/Makefile +++ b/Makefile @@ -10,6 +10,12 @@ VPATH:=vec2 gfx planet HDR:=gfx/gfx.h planet/constants.h planet/planet.h vec2/vec2.h +all: main doc + +exec: main + make -C doc read + ./main + main: main.o vec2.o gfx.o planet.o $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) @@ -25,5 +31,11 @@ vec2.o: ${HDR} gfx.o: ${HDR} +.PHONY: clean doc exec + +doc: + make -C doc + clean: rm -f *.o main tests + make -C doc clean diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..4f5018d5012aaff04e89205c43a70698620f832e --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,12 @@ +READER:=firefox + +all: rapport.pdf + +read: rapport.pdf + ${READER} rapport.pdf + +rapport.pdf: rapport.md constants.png system.png + pandoc -H disable_float.tex -s -o $@ $< + +clean: + rm -f rapport.pdf diff --git a/doc/constants.png b/doc/constants.png new file mode 100644 index 0000000000000000000000000000000000000000..0140df387e34a29f1e80bfbbb6dd89c61d598b0c Binary files /dev/null and b/doc/constants.png differ diff --git a/doc/disable_float.tex b/doc/disable_float.tex new file mode 100644 index 0000000000000000000000000000000000000000..92bd004fead9d226284596a623acafc10ef93150 --- /dev/null +++ b/doc/disable_float.tex @@ -0,0 +1,8 @@ +\usepackage{float} +\let\origfigure\figure +\let\endorigfigure\endfigure +\renewenvironment{figure}[1][2] { + \expandafter\origfigure\expandafter[H] +} { + \endorigfigure +} diff --git a/doc/rapport.md b/doc/rapport.md index 15a8ebef24c469286a7086325450f7d23889981b..0fe27c3d5210f00ec9be7a3f3a28e0dc76f02f4e 100644 --- a/doc/rapport.md +++ b/doc/rapport.md @@ -30,6 +30,8 @@ Nous avons créé le fichier **constants.h** pour contenir les valeurs des de chaque planète étudiée. Ces valeurs ont été recueillies sur internet et dans les tables CRM. +{ width=60% margin=auto } + ## Completion des fonctions relatives aux planètes Compléter le fichier **planet.c** s'est fait par simple traduction des formules fournies, en code C. A part quelques considérations dues à la gestion des @@ -73,6 +75,8 @@ a été corrigée dans la minute. Nous avons obtenu un système fonctionnel. Ce dernier a été testé pendant plus d'une heure sans produire de résultat qui semblait physiquement incohérent. + + ## Améliorations possibles Si toutes les contraintes physiques ont été gérées, il serait souhaitable de simplifier l'utilisation de ce programme et de le rendre plus dynamique: diff --git a/doc/system.png b/doc/system.png new file mode 100644 index 0000000000000000000000000000000000000000..f213b6ce6ae87b02a98f1c1a75b5d13fcc61ad5d Binary files /dev/null and b/doc/system.png differ diff --git a/main.c b/main.c index f3e36496d22a88c19027a28dc5a5d5581d6f8801..078b99a43ecc040a6706f0690c08202644e6dc9e 100755 --- a/main.c +++ b/main.c @@ -8,10 +8,11 @@ #define SCREEN_WIDTH 1000 #define SCREEN_HEIGHT 1000 +#define DELTA_T 5000.0 -#define SUN_RADIUS 50 -#define DELTA_T 8000.0 +double delta_t = DELTA_T; + int main() { srand(time(NULL)); @@ -21,24 +22,16 @@ int main() { return EXIT_FAILURE; } - // begin : create your system - system_t sys = create_system(DELTA_T); - // end : create system + system_t sys = create_system(delta_t); while (true) { gfx_present(ctxt); gfx_clear(ctxt, COLOR_BLACK); - // begin : draw the current state of your system show_system(ctxt, &sys); - // end : draw state of system - // begin : update your system - update_system(&sys, DELTA_T); - // end : update system + update_system(&sys, delta_t); if (gfx_keypressed() == SDLK_ESCAPE) { break; } } - // begin : Free your system free_system(&sys); - // end : free system gfx_destroy(ctxt); return EXIT_SUCCESS; }