#define _USE_MATH_DEFINES #include "../matplotlibcpp.h" #include using namespace std; namespace plt = matplotlibcpp; // Example fill plot taken from: // https://matplotlib.org/gallery/misc/fill_spiral.html int main() { // Prepare data. vector theta; for (double d = 0; d < 8 * M_PI; d += 0.1) theta.push_back(d); const int a = 1; const double b = 0.2; for (double dt = 0; dt < 2 * M_PI; dt += M_PI/2.0) { vector x1, y1, x2, y2; for (double th : theta) { x1.push_back( a*cos(th + dt) * exp(b*th) ); y1.push_back( a*sin(th + dt) * exp(b*th) ); x2.push_back( a*cos(th + dt + M_PI/4.0) * exp(b*th) ); y2.push_back( a*sin(th + dt + M_PI/4.0) * exp(b*th) ); } x1.insert(x1.end(), x2.rbegin(), x2.rend()); y1.insert(y1.end(), y2.rbegin(), y2.rend()); plt::fill(x1, y1, {}); } plt::show(); }