Processing Advent Calendar 2014 : ATND 参加記事

pict

Twinkle- OpenProcessing

Processingでキラキラ図形を描いてみました。
この図形を描くにあたり、ネットで「数学 曲線 星」でググったのですが、
これを描くには「アステロイド曲線」というものを利用すれば良いようです。

アステロイド (曲線) - Wikipedia

Processingで利用する式は以下のとおりです。
xy

Processingでこの式を描くと以下のようになります。
1110151133
以下がコードです。
float delta = TWO_PI / 100;
float A = 100;

void setup() {
size(300, 300);
}

void draw() {
background(255);

//中心線
stroke(200);
strokeWeight(1);
line(0, height/2, width, height/2);
line(width/2, 0, width/2, height);

//アステロイド曲線
noFill();
stroke(255, 0, 0);
strokeWeight(2);
beginShape();
for (float t = 0; t < TWO_PI; t += delta) {
vertex(width/2 + A * pow(cos(t), 3), height/2 + A * pow(sin(t), 3));
}
endShape(CLOSE);
}


キラキラ図形にするためには、y座標の値を少し大きめにとると良いと思います。
1110153004
vertex(width/2 + A * pow(cos(t), 3), height/2 + A * 1.4 * pow(sin(t), 3));