1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<stdarg.h>
void main()
{
float sqrt(float); //initialisation de la fonction racine
double pow(double,int); //initialisation de la fonction puissance
double cos(double); //initialisation de la fonction cosinus
double sin(double); //initialisation de la fonction sinus
double tan(double); //initialisation de la fonction tangente
float a=0; // rayon de l'orbite
float e=0; // exentricité
float v=0; // point de l'orbite d'anomalies vraie
int n=0; // nombre de v à saisir
float i=0; // inclinaison
float w=0;
float la=0; // latitude
float TP=0; //fonction TP de base
float tp=0; //temp de passage au périgée
int mu=398600; // parametre definie dans le TD
float tableau[28][4]; // tableau des resultats de t, tp, longitude, et latitude
float A=0; //élément A de l'expression de TP
float B=0; //élément B de l'expression de TP
float C=0; //élément C de l'expression de TP
printf(" calcul de t a different point de l'orbite \n");
printf(" veuillez saisir le rayon de a l'orbite \n");
scanf("%d",&a);
printf(" veuillez saisir le parametre 'e' de l'orbite \n");
scanf("%d",&e);
printf(" veuillez saisir l'inclinaison 'i'\n");
scanf("%d",&i);
printf("veuillez saisir le parametre 'w'\n");
scanf("%d",&w);
A=sqrt(1-pow(e,2))*sin(v);
B=1+e*cos(v);
C=sqrt(pow(a,3)/mu);
TP=(C)(asin(A/B)-e(A/B)); //fonction TP de base
tp=TP; //permet de determiner le tp (pour v=0)
do
{
printf(" veuillez saisir un point de l'orbite V different \n");
scanf("%d",&v);
n++;
if(v>=120)
{ //correction a apporter pour v>=120
tableau[n-1][0]=v;
tableau[n-1][1]=TP-tp;
}
else
{
if(v<=120) //correction a apporter lorsque v<=-120
{
tableau[n-1][0]=v;
tableau[n-1][1]=TP-tp;
}
else //aucune correction
{
tableau[n-1][0]=v;
tableau[n-1][1]=TP-tp;
}
}
la=pow(sin(sin(w+v)*sin(i)),-1); //calcul de la latitude
tableau[n-1][2]=la;
tableau[n-1][3]=pow(sin((tan(la))/(tan(i))),-1); //calcul de la longitude
}while(n!=28); //fin de la boucle aprés 28 saisie de V
printf("affichage du tableau\n");
printf(" résultats des calcul, %d\n",tableau[28][4]);
getchar();
} |
Partager