processing design |
|||||
---|---|---|---|---|---|
작성자 | 김용남 | 등록일 | 19.09.24 | 조회수 | 94 |
import processing.pdf.*; // Import PDF code
int z=25; int z1=1;
float angle=0.0;
float Speed[]= {0.001, 0.8,0.5}; // input speed & circle speed float speed= Speed[0]; // input speed float radius[] = {0, HALF_PI, PI, TWO_PI};
// move adjust
float CX_start []= {400, 700, 820}; // red circle / whtit circle/ black circle float CY_start []= {450, 450, 455}; // red circle / whtit circle/ black circle float CXmove_range []= {200, 420, 300}; // red circle / whtit circle/ black circle float CYmove_range []= {320, 300, 400}; // red circle / whtit circle/ black circle
float TX_start []= {100,300,200}; float TY_start []= {200,140,300}; float TXmove_range []= {100,12,30}; float TYmove_range []= {90,43,30};
//HSB Color mode adjust
int [] H= {200, 200}; // setup color & draw color int [] S= {100, 150}; // setup color & draw color int [] B= {100, 100}; // setup color & draw color int [] O= {10, 17}; // setup color & draw color
float colors=radius[2]*0.3; float colorRange = sin(colors)*25; float random_color = random(0, colorRange);
void setup() { colorMode(HSB, H[0], S[0], B[0], O[0]); size(1300, 918); background(HSB, 0, 0, random_color ); smooth(); }
void draw() {
colorMode(HSB, H[1], S[1], B[1], O[1]); float random_color = random(0, colorRange);
//red circle float X=CX_start[0]+cos(angle+radius[3]/0.7)* CXmove_range[0]; // start & radius x float Y=CY_start[0]+sin(angle+radius[2])*CYmove_range[0]; // start & radius y
// white circle float X1=CX_start[1]+sin(angle+radius[2]/3)*CXmove_range[1]; // start & radius x float Y1=CY_start[1]+cos(angle+radius[2]*1.1)*CYmove_range[0]; // start & radius y
// black circle float X2=CX_start[2]+sin(angle+radius[2])*CXmove_range[2]; // start & radius x float Y2=CY_start[2]+sin(angle+radius[3])*CYmove_range[1]; // start & radius y
// triangle float TX=TX_start[0]+sin(angle)*TXmove_range[0]; // start & radius x float TY=TY_start[0]+cos(angle)*TYmove_range[0]; // start & radius y
float TX1=TX_start[1]+ cos(angle+radius[2])*TXmove_range[1]; // start & radius x float TY1=TY_start[1]+ cos(angle+radius[1])*TYmove_range[1]; // start & radius y
float TX2=TX_start[2]+ cos(angle*3.0)*TXmove_range[2]; // start & radius x float TY2=TY_start[2]+ cos(angle*3.0)*TYmove_range[2]; // start & radius y
pushMatrix(); translate(400, 400); scale(0.5);
for (float i=0; i<10; i++) { noStroke();
z=z+z1;
if(z>42){ z1 *=-1; }
else{ z1 *= -1; } fill(random(200), 140, z-3, 0.5); tri(random(X), random(Y), noise(X1*32), noise(Y1*4), random(X2), random(Y2), 0.9, 1.2);
pushMatrix(); noStroke(); fill(0, 0, 255, 100); circle(random(X), random(Y1), random(3)); popMatrix();
} //background color change & dot pattern
popMatrix();
pushMatrix();
fill(random_color-9, 180, 90); circle(X, Y, 200); // circle + line1
strokeWeight(0.5); stroke(30, 200, 200); line(X, Y, X1, Y1);
fill(random_color, random_color, 255); circle(X1, Y1, 120); // circle + line2
strokeWeight(0.5); stroke(90, 170, 205); line(X1, Y1, X2, Y2);
fill(30, 10, random_color); circle(X2, Y2, 100); // circle + line3
fill(0, 0, 255); white_circle(X, Y); white_circle(X1, Y1); white_circle(X2, Y2); //circle dot
pushMatrix(); strokeWeight(0.5); stroke(0, 0, 255);
popMatrix();
noFill(); stroke(0, 0, 255); circle(mouseX, mouseY, 300);
strokeWeight(0.5); stroke(0, 0, 255); noFill();
line(X2, Y2, mouseX, mouseY); //mouse event
popMatrix();
pushMatrix(); noStroke();
fill(random_color+88, 170, 80,20);
translate(width/2, height/2); scale(0.1) ; rotate(angle/1.3); tri1(TX*24,TY*12,TX1*3,TY*3,TX*4,TX*5,TX1*5,TY,2);
popMatrix();
}
void circle(float circleX, float circleY, float circle_inc) { float diameter1 = 0 + (sin(angle + 0) * circle_inc); ellipse(circleX, circleY, diameter1, diameter1); angle += speed*Speed[1]; }
void white_circle(float WX, float WY) { ellipse(WX, WY, 5, 5); }
void tri(float a, float b, float c, float d, float e, float f, float r, float ss) { rotate(r); scale(ss);
beginShape(); vertex(a, b); vertex(c, d); vertex(e, f); endShape();
r +=radius[2]*2;
}
void tri1(float tx, float ty, float tx1, float tx2, float tx3, float ty1, float ty2, float ty3,float tri_inc){ float diameter2 = (cos(angle + 0) * tri_inc);
translate(tx, ty); triangle(tx1,tx2,tx3,ty1,ty2,ty3);
};
void keyPressed() { if (key == 'B' || key == 'b') { // When 'B' or 'b' is pressed, beginRecord(PDF, "poster1-###.pdf"); // start recording to the PDF background(0,0,0); // Set a white background } else if (key == 'E' || key == 'e') { // When 'E' or 'e' is pressed, endRecord(); // stop recording the PDF and exit(); // quit the program } }
|
이전글 | processing Mondrian |
---|---|
다음글 | processing fish scales |