processing_やってみた_005
やばいぞ理解するのに必死になっていてアウトプットができていない!!
義務感でアウトプット。
004の続き
void setup(){
fullScreen();
background(255);
strokeWeight(5);
smooth();
float radius = 300;
int centx = width/2;
int centy = height/2;
stroke(0, 30);
noFill();
ellipse(centx, centy, radius * 2, radius * 2);
stroke(20, 50, 70);
strokeWeight(1);
float x, y;//x,y使うで~
float noiseval = random(10);//開始点をランダムに
float radVariance, thisRadius, rad;
beginShape();//vertex()を使って線を結んで図形を作る。
fill(20, 50, 70, 50);
for(float ang = 0; ang <= 360; ang += 1){
noiseval += 1;//開始点から1度ずつ動かす
radVariance = 30 * customNoise(noiseval);
thisRadius = radius + radVariance;
rad = radians(ang);
x = centx + (thisRadius * cos(rad));
y = centy + (thisRadius * sin(rad));
curveVertex(x, y);
}
endShape();
}
float customNoise(float value){
float count = int(value % 12);
float retValue = pow(sin(value),count);
return retValue;
}
sin()に対してパーリンノイズを使用(言い方あってるのかな)
すると正円ではなく、一度ごとに線の位置にズレが生じる。
んーーーー。。。。まだまだ楽しくコードがかけないぞ。。。
この記事が気に入ったらサポートをしてみませんか?