defun n_agon(n, radius)
{
fputs(stderr, "nagon start");
decl pnts;
//decl nb;
//nb = n;
pnts = {{0, 0}};
pnts=resize_array(pnts, 1, 0, n+1);
pnts=resize_array(pnts, 2, 0, 1);
pnts[0, 0] = radius * cos((PI / (2 * n)));
pnts[0, 1] = radius * sin((PI / (2 * n)));
fputs(stderr, identify_value(pnts));
fputs(stderr, "nagon loopstart");
decl i;
for(i=1; i<=n; i++)
{
pnts[i, 0] = radius * cos((i * 2 * PI / n) + (PI / (2 * n)));
pnts[i, 1] = radius * sin((i * 2 * PI / n) + (PI / (2 * n)));
fputs(stderr, strcat(i, ""));
}
fputs(stderr, "n+1=");
fputs(stderr, strcat(" ", n+1));
fputs(stderr, ",pnts=");
fputs(stderr, strcat(" ", array_upperBound(pnts, 1)));
fputs(stderr, identify_value(pnts));
decl end_pnts;
end_pnts = n+1;
fputs(stderr, strcat("end_pnts=", end_pnts, ",n=", n, ",upper1=", array_upperBound(pnts, 1), ",upper2=", array_upperBound(pnts, 2)));
pnts[end_pnts, 0] = radius * cos(PI / (2 * n));
pnts[end_pnts, 1] = radius * sin(PI / (2 * n));
fputs(stderr, "nagon finish");
return (pnts);
}