week03
1. 點、線、面
3_1
void setup(){
size(500,500);
}
float x=250, y=250;
void draw(){
ellipse(x, y, 5, 5);
}
void setup(){
size(500,500);
}
float x=250, y=250;
float dx=1, dy=1;
void draw(){
ellipse(x, y, 5, 5);
x += dx;
y += dy;
}
3_2
void setup(){
size(500,500);
dx = random(-1,+1);//亂數往哪裡跑
dy = random(-1,+1);//亂數往哪裡跑
}
float x=250, y=250;
float dx=1, dy=1;
void draw(){
background(0);
ellipse(x, y, 5, 5);
x += dx;
y += dy;
if(x<0 || x>500) dx = -dx;
if(y<0 || y>500) dy = -dy;
}
3_3
void setup(){
size(500,500);
for(int i=0; i<20; i++){
x[i] = random(500);
y[i] = random(500);
dx[i] = random(-1,+1);//亂數往哪裡跑
dy[i] = random(-1,+1);//亂數往哪裡跑
}
}
float [] x = new float[20];//float x=250, y=250;
float [] y = new float[20];
float [] dx = new float[20];//float dx=1, dy=1;
float [] dy = new float[20];
void draw(){
background(0);
for(int i=0; i<20; i++){
ellipse(x[i], y[i], 5, 5);
x[i] += dx[i];
y[i] += dy[i];
if(x[i]<0 || x[i]>500) dx[i] = -dx[i];
if(y[i]<0 || y[i]>500) dy[i] = -dy[i];
}
}
3_4
void setup(){
size(500,500);
for(int i=0; i<20; i++){
x[i] = random(500);
y[i] = random(500);
dx[i] = random(-1,+1);//亂數往哪裡跑
dy[i] = random(-1,+1);//亂數往哪裡跑
}
}
float [] x = new float[20];//float x=250, y=250;
float [] y = new float[20];
float [] dx = new float[20];//float dx=1, dy=1;
float [] dy = new float[20];
void draw(){
background(0);
for(int i=0; i<20; i++){
ellipse(x[i], y[i], 5, 5);
for(int k=0; k<20; k++){
stroke(255,0,0);
if(dist(x[i],y[i], x[k],y[k])<100)
line(x[i],y[i], x[k],y[k]);
}
x[i] += dx[i];
y[i] += dy[i];
if(x[i]<0 || x[i]>500) dx[i] = -dx[i];
if(y[i]<0 || y[i]>500) dy[i] = -dy[i];
}
}
3_5
void setup(){
size(500,500);
for(int i=0; i<N; i++){
x[i] = random(500);
y[i] = random(500);
dx[i] = random(-1,+1);//亂數往哪裡跑
dy[i] = random(-1,+1);//亂數往哪裡跑
}
}
int N = 40;
float [] x = new float[N];//float x=250, y=250;
float [] y = new float[N];
float [] dx = new float[N];//float dx=1, dy=1;
float [] dy = new float[N];
void draw(){
background(0);
for(int i=0; i<N; i++){
ellipse(x[i], y[i], 5, 5);
for(int k=0; k<N; k++){
float d = dist(x[i],y[i], x[k],y[k]);
stroke(2.55*(100-d));
if(d<100)
line(x[i],y[i], x[k],y[k]);
}
x[i] += dx[i];
y[i] += dy[i];
if(x[i]<0 || x[i]>500) dx[i] = -dx[i];
if(y[i]<0 || y[i]>500) dy[i] = -dy[i];
}
}
3_6
void setup(){
size(500,500);
for(int i=0; i<N; i++){
x[i] = random(500);
y[i] = random(500);
dx[i] = random(-1,+1);//亂數往哪裡跑
dy[i] = random(-1,+1);//亂數往哪裡跑
}
}
int N = 50;
float [] x = new float[N];//float x=250, y=250;
float [] y = new float[N];
float [] dx = new float[N];//float dx=1, dy=1;
float [] dy = new float[N];
void draw(){
background(0);
for(int i=0; i<N; i++){
ellipse(x[i], y[i], 5, 5);
for(int k=0; k<N; k++){
float d = dist(x[i],y[i], x[k],y[k]);
stroke(2.55*(100-d));
if(d<100){
line(x[i],y[i], x[k],y[k]);
dx[i] += (x[k]-x[i])*0.00001;//加一點吸引力
dx[i] += (y[k]-y[i])*0.00001;//加一點吸引力
}
}
x[i] += dx[i];
y[i] += dy[i];
if(x[i]<0 || x[i]>500) dx[i] = -dx[i];
if(y[i]<0 || y[i]>500) dy[i] = -dy[i];
}
}
3_7
改變色彩系統
void setup(){
size(500,500);
colorMode(HSB, 360, 100, 100);
}
void draw(){
background(186,83,95);
}
void setup(){
size(500,500);
colorMode(HSB, 360, 100, 100);
}
void draw(){
background(frameCount%360,83,95);
}
3_8
做出彩虹
size(400,400);
noStroke();
colorMode(HSB, 400);
for(int i=0; i<400; i++){
for(int j=0; j<400; j++){
stroke(i, 400, 400);
point(i, j);
}
}
3_9
void setup(){
size(300,300);
colorMode(HSB, 360,100,100);
chooseColor();
}
void mousePressed(){
chooseColor();
}
int I, J;
float h, s, b, dh, ds, db;
void chooseColor(){
h = random(360);
s = random(50, 100);
b = random(50, 100);
I = int(random(5));
J = int(random(5));
dh = random(-10, +10);
ds = random(-10, +10);
db = random(-10, +10);
}
void draw(){
background(203, 63, 65);
for(int i=0; i<5; i++){
for(int j=0; j<5; j++){
fill(h,s,b);
if(i==I && j==J) fill(h+dh, s+ds, b+db);
ellipse(30+j*60, 30+i*60, 60, 60);
}
}
}











沒有留言:
張貼留言