【Processing】lerpColor()を使ってみる

 

 

lerpColor()を使ってみる。

この関数は2色の色をブレンドしてくれるフェーダーみたいなもの。

画面のY座標を使って、線と面の2色をブレンドした。

 

まだ使ったことない関数ありそうだから全部使っていきたい。

 

int num = 250;
float[] x = new float[num];
float[] y = new float[num];
float[] p = new float[num];
color a = color(250,20,80);
color b = color(0,50,300);
color c = color(100,50,300);
color d = color(0,0,0);

void setup(){

  size(500,500); 
  background(0);
  for(int i = 0 ; i < num ; i++){
  x[i] = random(width);
  y[i] = random(height);
  p[i] = random(0.1,3);
  }
}



void draw(){
  
   background(0);
for(int i = 0 ; i < num ; i++){ float r = 3 + 20*abs(p[i]); strokeWeight(2); stroke( lerpColor(a,b,map(y[i],0,height,0,1))); fill( lerpColor(c,d,map(y[i],0,height,0,1))); ellipse(x[i],y[i],r,r);
x[i] += p[i];
if(x[i] > width || x[i] < 0 ){ p[i] *= -1 ; } y[i] = height/2 + 250*sin(radians(frameCount+ i*2)); } }