From 66c425a215ed1737a69eec1f2bf137455c10326e Mon Sep 17 00:00:00 2001 From: ACKERMANNGUE <gawen.ackermann@etu.hesge.ch> Date: Mon, 20 Dec 2021 13:24:50 +0100 Subject: [PATCH] modification interface dans doc --- README.md | 50 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f61b12d..5e2eb20 100644 --- a/README.md +++ b/README.md @@ -9,19 +9,22 @@ Le but de ce projet est de créer une simulation d'un système planétaire, il n ## Installation et Compilation +Pour utiliser le simulateur, il faut en premier temps clone ce repository. Ensuite, si ce n'est pas déjà fait, il faut installer OpenGL avec `sudo apt-get install freeglut3-dev`. Une fois ceci fait, il faut compiler le projet à l'aide de la commande puis lancer le programme à l'aide d'un terminal ouvert dans ce même répertoire et de lancer la commande suivante : `./main` + ## Projet Afin de mener ce projet à terme, nous avons dû créer certaines de nos structures. De plus, le sujet traitant sur des éléments existants, nous avons fait des recherches afin d'obtenir les informations exactes des diverses : masses, excentricités et périhélies. ### Données -https://nssdc.gsfc.nasa.gov/planetary/factsheet/ + https://nssdc.gsfc.nasa.gov/planetary/factsheet/sunfact.html https://nssdc.gsfc.nasa.gov/planetary/factsheet/mercuryfact.html https://nssdc.gsfc.nasa.gov/planetary/factsheet/venusfact.html https://nssdc.gsfc.nasa.gov/planetary/factsheet/earthfact.html https://nssdc.gsfc.nasa.gov/planetary/factsheet/moonfact.html + | Nom | Masse | Excentricité | Demi-grand axe | |:-------------:|:---------------:|:------------:|:----------------:| | Soleil | 1988500 * 1E24 | / | / | @@ -30,9 +33,8 @@ https://nssdc.gsfc.nasa.gov/planetary/factsheet/moonfact.html | Terre | 5.9722 * 1E24 | 0.0167 | 149.596 * 1E9 | | Mars | 0.64169 * 1E24 | 0.0935 | 227.923 * 1E9 | -### Mise en place -Pour utiliser le simulateur, il faut en premier temps clone ce repository. Ensuite, si ce n'est pas déjà fait, il faut installer OpenGL avec `sudo apt-get install freeglut3-dev`. Une fois ceci fait, il faut compiler le projet à l'aide de la commande puis lancer le programme à l'aide d'un terminal ouvert dans ce même répertoire et de lancer la commande suivante : `./main` +* https://nssdc.gsfc.nasa.gov/planetary/factsheet/sunfact.html ### Structures @@ -117,6 +119,36 @@ void vector2_print(Vector2 v); :TODO: Décrire le système de mise à jour étape par étape +### OpenGL + +#### Afficher un cercle de couleur + +On calcul tous les points (sur 360°, donc 360 points) par rapport à un rayon. Ensuite OpenGL lie tous les vertexes ensemble puis ajouter la couleur. + +##### Exemple de code + +```c +void draw_disc(Vector2 position, int32_t radius) { + glBegin(GL_POLYGON); + + for (int32_t i = 0; i < 360; i += 1) { + double theta = i * 3.14159265 / 180; + double x = position.x + radius * cos(theta); + double y = position.y + radius * sin(theta); + glVertex2f(x, y); + } + + glEnd(); +} +``` + +La couleur est choisie par rapport à sa valeur hexadécimale : + +```c +int32_t color = object->drawing_color; +glColor3ub((color & 0xFF0000) >> 16, (color & 0x00FF00) >> 8, (color & 0x0000FF) >> 0); +``` + ### Commandes utiles (Interface) #### Naviguer à travers les objets célestes @@ -125,16 +157,20 @@ Pour naviguer à travers les objets célestes, il faut utiliser les `flèches di #### Accélérer la simulation -Pour accélerer la vitesse de simulation, il faut utiliser la `flèche du haut` du clavier. +Pour accélerer la vitesse de simulation, il faut utiliser la `flèche du haut` du clavier. Jusqu'à maximum 500 jours par secondes. #### Decélerrer la simulation -Pour décélerrer la vitesse de simulation, il faut utiliser la `flèche du bas` du clavier. +Pour décélerrer la vitesse de simulation, il faut utiliser la `flèche du bas` du clavier. Jusqu'à un minimum de 0, ce qui fige le temps. -#### Zoomer sur les objets célestes +#### Zoomer la simulation Pour agrandir la taille des objets célestes afin d'y voir un peu plus clair, il faut utiliser le `roulement haut de la souris` -#### Dézoomer les objets célestes +#### Dézoomer la simulation Pour rapeticir la taille des objets célestes afin de voir le système dans son ensemble, il faut utiliser le `roulement bas de la souris` + +#### Afficher / Cacher les noms des objets célèstes + +Pour Afficher ou Cacher le nom des objets célèstes, il faut appuyer sur la touche `t` -- GitLab