Skip to content
Snippets Groups Projects
Select Git revision
  • ee4d3ba0e742d80832921b30f8a0692082a7bd0c
  • master default protected
2 results

Star.h

Blame
  • user avatar
    Benjamin-Sitbon authored
    add main on galaxy_simulation, changed librairies and added star librairy, box still missing comments and star isn't ready
    ee4d3ba0
    History
    Star.h 1017 B
    #include "Box.h"
    typedef struct star {
        vec pos_t, pos_t_dt, acc;
        double mass;
    } star;
    
    //Création d’une nouvelle étoile à la position pos_t, vitesse vel, accélération acc, masse mass et dt la discrétisation temporelle:
    star *new_star_vel(vec pos, vec vel, vec acc, double mass,double dt);
    
    //On initialisera pos_t_dt à l’aide de la relation (en pseudo-code)
    //pos_t_dt = pos_t - dt * vel
    
    //Remise à zéro de l’accélération d’une étoile:
    void reset_acceleration(star *s);
    
    //Mise à jour de l’accélération d’une étoile, s, à cause de l’attraction gravitationnelle d’une autre étoile, s2:
    void update_acceleration(star *s, const star *const s2);
    
    //Mise à jour de la position d’une étoile, avec dt la discrétisation temporelle:
    void update_position(star *s, double dt);
    
    //En pseudo-code cette mise à jour est de la forme:
    //pos_t = 2*pos_t - pos_t_dt + acc * dt * dt
    
    
    // Affichage des champs d’une étoile pour aider au débogage:
    void print_star(const star *const s);