Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * https://en.wikipedia.org/wiki/Rose_(mathematics)
- * k == number of petals
- x = cos( k theta ) * cos( theta )
- y = cos( k theta ) * sin( theta )
- *
- * build commands:
- * g++ -Wall -o "%e" "%f" -lboost_iostreams -lboost_system -lboost_filesystem `pkg-config --cflags --libs sdl2`
- */
- #include <iostream>
- #include <fstream>
- #include <math.h>
- #include "/usr/include/gnuplot-iostream.h"
- using namespace std ;
- int main(){
- Gnuplot gp;
- ofstream plot;
- plot.open("rose.dat");
- const double pi = 3.14159265359;
- double theta = 0;
- int k = 8; //N of Petals
- double r,r1,r2 = 0;
- double xx = 0;
- double yy = 0;
- for(int t=0; t<=20; t++){
- theta =(t*pi)/180;
- r = cos(k*theta);
- xx = cos((k)*theta)*cos(theta);
- //yy = sin(theta)*sin(r);
- //yy = cos(k*theta)*sin(r);
- //yy = cos(k*theta)*sin(theta); theta =(t*pi)/180;
- r1 =12*cos(r);
- r2 =-12*cos(k*theta);
- yy = cos(k*theta)*sin(theta);
- //cout << r << " " << xx << " " << yy << endl;
- plot << r << " "<< r1 << " "<< r2 << " " << xx << " " << yy << endl;
- }
- plot.close();
- //gp<<"gnuplot\n";
- gp << "set polar\n";
- //gp << "plot \"rose.dat\" using 1 with lines\n";
- //gp << "plot \"rose.dat\" using 2 with lines\n";
- gp << "plot \"rose.dat\" using 3 with lines\n";
- //gp << "";
- return 0;
- }
Add Comment
Please, Sign In to add comment