Witam,
Mam za zadanie napisać program w C++ rysujący superelipsę korzystając z gotowej biblioteki GUI. Informacje i wzory dotyczące superelips ściągnąłem z wiki. Niestety mój program nie rysuje tego co powinien. Zamiast narysować mi dla n=1/2 figurę o kształcie gwiazdy:

Program rysuje mi

#include "Simple_window.h"
#include "Graph.h"
double sgn(double x) {
if (x == 0) return 0;
return x < 0 ? -1 : 1;
}
int main() {
using namespace Graph_lib;
Simple_window win {Point{100, 100}, 600, 400, "Moje okno"};
Open_polyline superellipse;
Point p {50, 50};
int N = 200;
double n = 0.5;
double a = 1;
double b = 1;
double theta = 0;
for (int i = 0; i < N; ++i) {
theta += 1.0/N;
double x = pow(abs(cos(theta)), 2.0/n)*a*sgn(cos(theta));
double y = pow(abs(sin(theta)), 2.0/n)*b*sgn(sin(theta));
superellipse.add(Point(p.x + x*100, p.y + y*100));
}
win.attach(superellipse);
win.wait_for_button();
return 0;
}