記録

勉強したことに関するのノート。見返して分かるようにしてます。

自由に動いてもらう

int[] x = new int[9];
int[] y = new int[9];
float[]speedX = new float[9];
float[]speedY = new float[9];
color[]c=new color[9];
color[]c2=new color[9];
int a=(int)random(1, 5);
int b=(int)random(1, 5);
int[]r=new int[9];

void setup()
{
  size(500, 500);
  colorMode(HSB, 360, 100, 100);
  background(0, 0, 0);
  x[0] = 0; 
  y[0] = (int)random(height);
  x[1] = width; 
  y[1] = (int)random(height);
  x[2] = (int)random(width); 
  y[2] = 0;
  x[3] = (int)random(width); 
  y[3] = height;
  x[4] = 0; 
  y[4] = (int)random(height);
  x[5] = width; 
  y[5] = (int)random(height);
  x[6] = (int)random(width); 
  y[6] = 0;
  x[7] = (int)random(width); 
  y[7] = height;
  x[8] = width/2; 
  y[8] = height/2;
  speedX[0]=a;
  speedY[0]=b;
  speedX[1]=a;
  speedY[1]=b;
  speedX[2]=a;
  speedY[2]=b;
  speedX[3]=a;
  speedY[3]=b;
  speedX[4]=a;
  speedY[4]=b;
  speedX[5]=a;
  speedY[5]=b;
  speedX[6]=a;
  speedY[6]=b;
  speedX[7]=a;
  speedY[7]=b;
  speedX[8]=a;
  speedY[8]=b;
  c[0]=color(random(360), 100, 100);
  c[1]=color(random(360), 100, 100);
  c[2]=color(random(360), 100, 100);
  c[3]=color(random(360), 100, 100);
  c[4]=color(random(360), 100, 100);
  c[5]=color(random(360), 100, 100);
  c[6]=color(random(360), 100, 100);
  c[7]=color(random(360), 100, 100);
  c[8]=color(random(360), 100, 100);
  c2[0]=color(0, 0, random(100));
  c2[1]=color(0, 0, random(100));
  c2[2]=color(0, 0, random(100));
  c2[3]=color(0, 0, random(100));
  c2[4]=color(0, 0, random(100));
  c2[5]=color(0, 0, random(100));
  c2[6]=color(0, 0, random(100));
  c2[7]=color(0, 0, random(100));
  c2[8]=color(0, 0, random(100));
  stroke(0, 0, 100);
  r[0]=(int)random(1, 20);
  r[1]=(int)random(1, 20);
  r[2]=(int)random(1, 20);
  r[3]=(int)random(1, 20);
  r[4]=(int)random(1, 20);
  r[5]=(int)random(1, 20);
  r[6]=(int)random(1, 20);
  r[7]=(int)random(1, 20);
  r[8]=(int)random(1, 20);
}
void draw() 
{ 
  int i;
  //background(0, 0, 0);
  //fill(0, 0, 0, 50);
  //rect(0, 0, width, height);

  for (i = 0; i < 9; ++i) {
    x[i] += speedX[i]; 
    y[i] += speedY[i];

    if (x[i] <= 0 || x[i] >= width) {
      speedX[i] *= -1;
      //speedX[i] *= random(0.3, 1.1);
      speedX[i]=random(-5, 5);
      //speedY[i] *= speedY[i]+random(0.9, 1);
    }

    if (y[i] <= 0 || y[i] >= height) {
      speedY[i] *= -1;
      //speedX[i] =speedX[i]+random(0.9, 1);
      speedY[i]=random(-5, 5);
      //speedY[i]*=random(0.3, 1.1);
    }

    fill(c[i]);
    stroke(c2[i]);
    ellipse(x[i], y[i], r[i], r[i]);
  }
}

昨日の矢印の個性 - 記録よりもさらにばらばらになった。左方、上方、右方、下方それぞれから2つずつ、ランダムな場所からと、中央から1つ自由に動き回るようにした。さらにstrokeを黒⇔白でランダムに決定し、色付けている。