はじめに
チェビシェフ螺旋(Chebyshev Spiral)を使うと、丸い多角形が描けます。
イラレで多角形を描いて、角を丸くしても、十分かもしれませんが、単一式でエレガントに描きたいという場合、使えるかもしれません。
例えば、丸い5角形が欲しかったら、
k=5
n=5
にすれば、描けます。
なお、super ellipseだと四角形のみですが、super fomulaなら丸い多角形を描けます。
式
極座標表記で
r=n+\frac{1}{k}\cos{n\theta}
コード
processing
size(800, 800);
background(255);
translate(400,400);
noStroke();
float r,x,y;
float k = 2;
for(int n=12; n>=1; n--){
beginShape();
for(float th=0; th<=2*PI; th+=0.002){
r = n+1/k*cos(n*th);
x = r*cos(th);
y = r*sin(th);
fill(n%2*255);
curveVertex(x*30, y*30);
}
endShape();
}
結果画像
↓ k=2
↓ k=3
↓ k=4
↓ k=5
↓ k=6
↓ k=7
↓ k=8
↓ k=9
↓ k=10
↓ k=11
↓ k=12