module sc(n=3) //超圆模块
{
fn=100;R=8;
for(t=[0:90:270])
{rotate([0,0,t])
{
po=[[0,0],for (s=[0:90/fn:90])[R*sin(s),pow(pow(R,n)-pow(R*sin(s),n),1/n)]];
polygon( po);
}
}
}
for (x=[0.5:0.1:10]) //超圆排列
{
translate([x*200-200,0,0])
{
sc(x);
translate([0,-20,0])
text(str(x),size=5);
}
}

{
fn=100;R=8;
for(t=[0:90:270])
{rotate([0,0,t])
{
po=[[0,0],for (s=[0:90/fn:90])[R*sin(s),pow(pow(R,n)-pow(R*sin(s),n),1/n)]];
polygon( po);
}
}
}
for (x=[0.5:0.1:10]) //超圆排列
{
translate([x*200-200,0,0])
{
sc(x);
translate([0,-20,0])
text(str(x),size=5);
}
}
