Skip to content
Snippets Groups Projects
Commit 98b728cc authored by BobLeHibou's avatar BobLeHibou
Browse files

ADD: constants

parent c89f47c3
No related branches found
No related tags found
No related merge requests found
...@@ -3,35 +3,61 @@ ...@@ -3,35 +3,61 @@
// display // display
#define DISPLAY_RADIUS_DIV 1.0e23 #define DISPLAY_PLANET_RADIUS_DIV 1.0e23
#define DISPLAY_MAX_ORBIT_RADIUS
// logic
#define PLANET_COUNT 4
// physical constants
#define G 6.67e-11 #define G 6.67e-11
#define M_SOLEIL 1.989e30 #define M_SOLEIL 1.989e30
// mass // mass
#define M_TERRE 5.9742e24
#define M_MERCURE 3.3011e23 #define M_MERCURE 3.3011e23
#define M_VENUS 4.8675e24 #define M_VENUS 4.8675e24
#define M_TERRE 5.9742e24
#define M_MARS 6.4171e23 #define M_MARS 6.4171e23
#define M_JUPITER 1.8982e27
#define M_SATURN 5.6834e26
#define M_URANUS 8.6810e25
#define M_NEPTUNE 1.02413e26
#define M_PLUTO 1.303e22
// major axis // major axis
#define A_MERCURE 5.7909e10 #define A_MERCURE 5.7909e10
#define A_VENUS 1.0821e11 #define A_VENUS 1.0821e11
#define A_TERRE 1.4960e11 #define A_TERRE 1.4960e11
#define A_MARS 2.2794e11 #define A_MARS 2.2794e11
#define A_JUPITER 7.7857e11
#define A_SATURN 1.43353e12
#define A_URANUS 2.870972e12
#define A_NEPTUNE 4.50e12
#define A_PLUTO 5.90638e12
// excentricity // excentricity
#define E_MERCURE 0.205630 #define E_MERCURE 0.205630
#define E_VENUS 0.006772 #define E_VENUS 0.006772
#define E_TERRE 0.0167086 #define E_TERRE 0.0167086
#define E_MARS 0.0934 #define E_MARS 0.0934
#define E_JUPITER
#define E_SATURN
#define E_URANUS
#define E_NEPTUNE
#define E_PLUTO
// perihelion // perihelion
#define PER_MERCURE 4.60012e10 #define PER_MERCURE 4.60012e10
#define PER_VENUS 1.07477e11 #define PER_VENUS 1.07477e11
#define PER_TERRE 1.47095e11 #define PER_TERRE 1.47095e11
#define PER_MARS 2.06700e11 #define PER_MARS 2.06700e11
#define PER_JUPITER 7.40520e11
#define PER_SATURN 1.35255e12
#define PER_URANUS 2.73556e12
#define PER_NEPTUNE 4.46e12
#define PER_PLUTO 4.43682e12
#endif //PLANET_CONSTANTS_H #endif //PLANET_CONSTANTS_H
...@@ -55,7 +55,7 @@ system_t create_system(double delta_t) { ...@@ -55,7 +55,7 @@ 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, const double show_radius) {
// draw sun // draw sun
const coordinates xy_sun = vec2_to_coordinates_centered( const coordinates xy_sun = vec2_to_coordinates_centered(
vec2_normalize(system->star.pos), vec2_normalize(system->star.pos),
...@@ -65,7 +65,7 @@ void show_system(struct gfx_context_t* ctxt, system_t* system) { ...@@ -65,7 +65,7 @@ void show_system(struct gfx_context_t* ctxt, system_t* system) {
// draw planets // draw planets
for (uint32_t i = 0; i < system->nb_planets; ++i) { for (uint32_t i = 0; i < system->nb_planets; ++i) {
const coordinates xy = vec2_to_coordinates_centered( const coordinates xy = vec2_to_coordinates_centered(
vec2_mul(vec2_norm(system->planets[i].pos) / (PER_MARS * 1.25), vec2_normalize(system->planets[i].pos)), vec2_mul(vec2_norm(system->planets[i].pos) / show_radius, vec2_normalize(system->planets[i].pos)),
ctxt->width, ctxt->width,
ctxt->height); ctxt->height);
draw_full_circle(ctxt, xy.column, xy.row, 20, COLOR_BLUE); draw_full_circle(ctxt, xy.column, xy.row, 20, COLOR_BLUE);
......
...@@ -16,13 +16,12 @@ typedef struct _system { ...@@ -16,13 +16,12 @@ typedef struct _system {
planet_t* planets; // An array of orbiting planets planet_t* planets; // An array of orbiting planets
} system_t; } system_t;
// These functions are not mandatory to implement,
// it's rather a hint of what you should have.
planet_t create_planet(double mass, vec2 pos); planet_t create_planet(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 show_system(struct gfx_context_t* ctxt, system_t* system, const double show_radius);
void update_system(system_t* system, double delta_t); void update_system(system_t* system, double delta_t);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment