転職を繰り返したサラリーマンの多趣味ブログ

30才未経験でSEに転職した人の多趣味ブログ

【Processing④】random、noise、sin関数について

random関数

float r = random(10);

0から10までの範囲で値を返す。帰り値は、float型。

float r = random(10, 20);

10から20までの範囲で値を返す。

int step = 10;

float lastx = 20;
float lasty = 50;

float y = 50;

for (int x = 20; x <= 480; x += step) {
  
  y += random(20) - 10;
  
  line(x, y, lastx, lasty);
  
  lastx = x;
  lasty = y;
}

random関数を使った、線の描き方。

f:id:uuc1h:20181007122715p:plain

noise関数

for ( int x = 1; x <= 10; x += 1) {
  
  println(noise(1));
  
}

引数によって、0から1の範囲で値を返す。ただ、上の場合では常に同じ値しか返らない。

float fnoise = 10;

for ( int x = 1; x <= 10; x += 1) {
  
  println(noise(fnoise));
  fnoise += 0.1;
  
}

常に値を変化させたい場合は、上のようにnoise関数の引数には、異なる値をセットする必要がある。

sin関数

float angle = 0;
float rad = radians(angle);
float f = sin(rad);

1から-1の範囲を返す。