#include <stdlib.h>
#include <stdio.h>
#include <math.h>


double square(double x){
	return ((x)*(x));
}

int main(){
//declaration des variables et ouverture du fichier de sortie
	double v0, rx, ry;
	double Dt=0.01;
	double fracOmega=1;
	unsigned n;
	FILE* sortie;
	sortie =fopen("results.txt","w");

//demande d'entrée des conditions d'exécution du code
	printf("vitesse initiale ?\n");
	scanf("%lf",&v0);
	printf("nombre d'itérations ?\n");
	scanf("%u",&n);
	printf("rapport Omega/omega ?\n");
	scanf("%lf",&fracOmega);

//calcul des grandeurs répétés dans les expressions pour simplifier la suite et initialisation de la position initiale
	
	rx=0;
	ry=0;

//affichage de la position initiale dans le fichier de sortie
	fprintf(sortie,"0\t%lf\t%lf\n",rx,ry);

//calcul et affichage de toutes les autres positions
	if(fracOmega==1){
		for(unsigned i=0;i<n;i++){
			rx=sin(i*Dt)*v0+sin(i*Dt)*(i*Dt)/2.0;
			ry=-(1.0/2.0)*sin(i*Dt)+cos(i*Dt)*(v0+(i*Dt)/2.0)-v0;
			fprintf(sortie,"%u\t%lf\t%lf\n",i,rx,ry);
		}
	}
	else{
		for(unsigned i=0;i<n;i++){
			rx=0;
			ry=0;
			fprintf(sortie,"%u\t%lf\t%lf\n",i,rx,ry);
		}
	}
	return 0;
} 
