Projet

Général

Profil

« Précédent | Suivant » 

Révision 496

Ajouté par Ramazan CELIK il y a presque 3 ans

Oublie de l’alarme, programmes et test fonctionnels, indentation et commentaire OK
Plus qu’à marquer la version définitive en créant le tag

Voir les différences:

main.c
float calcul_distance(position *p1, position *p2)/* fonction qui calcule la distance (en km) entre 2 points reperes par leur latitude et longitude */
{
float res_distance;
res_distance = sqrt(pow((p2->latitude-p1->latitude)*PI*rayon_terre/180.0,2)+pow(((p2->longitude-p1->longitude)*(cos(((p2->latitude+p1->latitude)/2.0)*PI/180.0)*PI*rayon_terre/180.0)),2)); /*formule calcul d'une distance sur une sphere */
/* formule de calcul d'une distance sur une sphere, d'apres les recherches sur internet */
res_distance = sqrt(pow((p2->latitude-p1->latitude)*PI*rayon_terre/180.0,2)+pow(((p2->longitude-p1->longitude)*(cos(((p2->latitude+p1->latitude)/2.0)*PI/180.0)*PI*rayon_terre/180.0)),2));
return res_distance;
}
float calcul_vitesse(position p1, position p2) /* fonction qui calcule la vitesse moyenne (en km/h) entre 2 releves GPS successifs */
{
float res_vitesse;
res_vitesse = calcul_distance(&p1, &p2)*3600.0;
res_vitesse = calcul_distance(&p1, &p2)*3600.0; /* v=d/t sachant que le tps est de 1s on a donc la vitesse en km/s, soit x3600 pour l'avoir en km/h */
return res_vitesse;
}
......
if (&pos) /* trame valide donc elle existe */
{
v = calcul_vitesse(pos, pos_prec);
v = calcul_vitesse(pos, pos_prec); /* calcule la vitesse entre la position de la voiture */
nbzone=distance_a_la_plus_proche_zone(pos, zones, sizeof(zone), &d); /*definit la zone la plus proche de la position actuelle */
if ( (d<seuil_d) && (v>zones[nbzone].vitmax)) /*verification de la voiture dans une zone proche de la zone et si la vitesse est trop grande pour cette zone*/

Formats disponibles : Unified diff