rotate()を利用した作品 «Processing»
//Processing_code_akitch_AKM_@godpotbot_Twitter
float x, y;
float bar_x;
void setup() {
size(900, 900);
}
void draw() {
background(0);
x=width/2;
y=height/2;
function_1();
bar_function();
}
void bar_function() {
if (mousePressed) { //mouse押すと動くよ
bar_x=mouseX;
stroke(255,10);
fill(255,50);
rect(bar_x-50,880, 100, 10);
fill(255);
textSize(20);
text("mouseX_location", 720, 30);//xの位置
text(mouseX, 720, 50);
}
}
void function_1() {
pushMatrix();
translate(x, y);
float count_n=1000;
for (int i=0; i<count_n; i=i+3) {
rotate(PI/bar_x*3); //今回の主役
strokeWeight(2);
stroke(map(mouseY, 0, height, 0, 255), map(i, 0, count_n, 0, 255), map(mouseX, 0, width, 255, 0));
line(sin(radians(i))+cos(radians(i))/width, i*0.56, i*0.1, i*0.1);
strokeWeight(2);
stroke(map(mouseX, 0, width, 255, 0), 200, map(i, 0, count_n, 200, 100));
fill(map(mouseX, 0, width, 255, 0), 200, map(i, 0, count_n, 200, 100));
ellipse((sin(radians(i))+cos(radians(i)))/width, i*0.56, 5, 5);
}
popMatrix();
}
void keyPressed() {// ENTER KEY押すと画像が保存されます
if (key==ENTER) {
saveFrame("function/a1.png");
}
}
マウスをクリックすると作品が現れます。
マウスのx座標の位置で形が変化していきます。
x,y座標で色が変化します。お気に入りの形が現れたらマウスのクリックをやめてマウスの位置で色を設定してください。
ENTER KEYを押すと画像がfunctionというフォルダに保存されます。
コードの数値を変えると新しい形に出会えますよ。