■
fill(angle, mouseX, mouseY);
でangleが色相にmouseXが彩度にmouseYを明度に定義
function draw() {
var angleStep = 360/segmentCount;
beginShape(TRIANGLE_FAN);
vertex(width/2, height/2);
for (var angle=0; angle<=360; angle+=angleStep){
var vx = width/2 + cos(radians(angle))*radius;
var vy = height/2 + sin(radians(angle))*radius;
vertex(vx, vy);
fill(angle, mouseX, mouseY);
}
endShape();
}
vertexを使って中心からsin cos radiusを使って円など正多角形を描写
■
stepX =mouse X+2
ステップは小さくなりすぎないように+2をしている。
マウスの座標に応じてstepも上下する。
rect(gridX,gridY,stepX,stepY)
gridXがx座標 gridYがy座標
stepXがwidth stepYがheight
x座標 y座標は
for (var gridX=0; gridX<width; gridX+=stepX
forループで0からwidth(or height)までループする。
colorMode(HSB,width,height,100);
で色相が0〜widthの範囲で定義、彩度が0〜heightの範囲で定義される。
fill(gridX,height-gridY,100);
彩度はgridYが大きくなるにつれ減っていく
p5.js 勉強3
公式例より。
青い○はx座標を黄色い○はy座標をそれぞれ変数で移動させている。
var x1 = width/2 + (scaler * cos(ang1));
scaler は 70で 真ん中にある長方形の辺の長さの半分の多きさ
よって var 1 は 2/width-70 〜 2/width+70の範囲で変動する。
cos()の中の変数を変化させることによって動きをつけているのは前回のexampleと同様である。
p5.js 勉強2
公式サンプルより。
var d1 = 10 + (sin(angle + PI/2)*diameter/2)+diameter/2;
diameter はheight-10の変数
sinは-1から1までの範囲で変化するので 10 + sin((angle+PI/2)*diameter2 + diameter/2
の値は10〜diameterの範囲で変化する。
またsin()の中の変数を変えることにより、大きさの変化のタイミングに差をつけている。
p5.js勉強1
マウスのX座標に応じて中心からの距離の変わる、円形が5つ回転し続けるシンプルなサンプルです。
ポイント
map functionを使い設定した変数でマウスのx座標に応じて各円の回転軸からの距離が遠くなるようにする。