processing_やってみた_003
processingの本を読みながら本を書いていくだけでは全くプログラミングを理解できないなと思い。新しく学ぶところにはコメントを入れるようにしてます。
fullScreen();
colorMode(RGB, 100);
background(0, 0, 0);
smooth();
//半径を代入
float radius = 100;
//ワークスペースの中央に設定
int centx = width/2;
int centy = height/2;
stroke(255, 255, 255);
//塗りなし
noFill();
//円を描画(画面中央,x軸直径,y軸直径)
ellipse(centx, centy, radius*2, radius*2);
stroke(255, 255, 255);
float x,y;
float lastx = -999;
float lasty = -999;
float radiusNoise = random(10);
println("n(rN) " + radiusNoise);
for(float ang = 0; ang <= 1440; ang += 1){
radiusNoise += 0.5;
println("rN " + radiusNoise);
radius += 0.5;
//random()よりも自然な変化を作るためにnoise()を使用。
float thisRadius = radius + (noise(radiusNoise) * 200) -100;
println("n(rN) " + noise(radiusNoise));
println("tR " + thisRadius);
println();
float rad = radians(ang);
x = centx + (thisRadius * cos(rad));
y = centy + (thisRadius * sin(rad));
if(lastx > -999){
line(x, y, lastx, lasty);
}
//次のループで描画される位置に現在のline()の終点を代入
lastx = x;
lasty = y;
}
昨日作ったこの渦巻きにnoise()を加えることでギザギザと大きくなる渦巻きに。
float thisRadius = radius + (noise(radiusNoise) * 200) -100;
ここの部分が今でもよくわかってない。
noise()はよく使うみたいだからマスターしなければ・・・
この記事が気に入ったらサポートをしてみませんか?