#include #include #include double mod2Pi( double ); double mod( double, double ); int main() { int i, j; int traj = 50; double o, p; double K = 1.2; FILE * resultsFile = fopen( "results.csv", "wt" ); // Create traj trajectories for ( i = 0; i < traj; i++ ) { o = M_PI; p = 2*M_PI/traj*i; // Calculate & Write Trajectory for ( j = 0; j < 1000; j++ ) { p = mod2Pi( p + K * sin( o ) ); o = mod2Pi( o + p ); // Write each point on a new line fprintf( resultsFile, "%f, %f\n", o, p ); } } fclose( resultsFile ); return 0; } double mod2Pi( double x ) { return mod( x, 2*M_PI ); } double mod( double x, double m ) { return x - floor( x / m ) * m; }