トップページに、Processingについて書いた記事を、辞書のように見つけやすくしてみました

【Processing】floor()関数の使い方【数値を最も近い整数に切り捨てる】

【Processing】floor()関数の使い方【数値を最も近い整数に切り捨てる】
  • URLをコピーしました!
ワタタク

今回の記事の目的はProcessingの「floor()関数」を理解し、自分なりに使ってみること。

この記事を書いた人
ワタタク
  • クリエイティブコーディング初心者が、アーティストとして活躍するまでの上達の過程を発信
  • コンセプトは「クリエイティブコーディング1万時間の歩き方」
  • 参考にしてもらえるブログにするため、Processingを独学で勉強して共有中

記事内のProcessingのバージョンは4.3。

動きのある画像は、コードではなく、GIF画像編集で無限再生されるようにしています。

目次

【Processing】floor()関数について

floor()関数について
  • floorの英語の意味は「床」や「底」
  • floor()関数は、数値を最も近い整数に切り捨てる関
    • 3.7を切り捨てると3になります
  • 小数点以下を切り捨てて整数だけを使いたいときに便利
    • ゲームのスコア表示やグラフの軸などに使えます
  • 切り捨てるというのがとても大事
  • 切り捨てるメリット
    • 計算がシンプルになる

【Processing】floor()関数の書き方【構文】

floor()関数の書き方【構文】
  • floor(n)
    • n は英語で「number(数)」
  • nには小数点が入る

【Processing】floor()関数の使い方【画像とコード】

小数点以下を切り捨てて整数にする例

小数点以下を切り捨てて整数にする例

切り捨てなので5になる。

// 小数点以下を切り捨てて整数にする例
float num = 5.9;
int result = floor(num);
println(result); 

floor()関数を使った表現

Processing floor()関数を使って描いたタイルのような絵
Processing floor()関数で、切り捨ててどのような数値になったのかをコンソールに表示させている
void setup() {
  size(400, 400);
  noLoop(); // 一度だけ描画
}

void draw() {
  background(255);
  int tileSize = 40;

  for (int y = 0; y < height; y += tileSize) {
    for (int x = 0; x < width; x += tileSize) {
      // ランダムな小数を生成してfloor()で切り捨て
      float randValue = random(0, 2);
      int intValue = floor(randValue);
      
      // 切り捨てた数値をコンソールに表示
      println("切り捨てた数値: " + intValue);
      
      if (intValue == 0) {
        fill(200, 0, 0); // 赤色
      } else {
        fill(0, 0, 200); // 青色
      }
      
      rect(x, y, tileSize, tileSize);
    }
  }
}

float randValue = random(0, 2);

  • ここで、random(0, 2) は0から2までのランダムな小数を作る
  • 1.5とか0.8とか2.0とかがランダムに選ばれる
  • この小数の数値が randValue に入るんだ

int intValue = floor(randValue);

  • 次に、floor(randValue) で randValue の小数点以下を切り捨てる。
  • 1.5 だったら1、0.8 だったら0になる
  • その結果が intValue に入るよ

切り捨てないで書いた例

Processing floor()関数 切り捨てないで書いた例
Processing floor()関数 切り捨てないで書いた例で、少数をコンソールに表示
void setup() {
  size(400, 400);
  noLoop(); // 一度だけ描画
}

void draw() {
  background(255);
  int tileSize = 40;

  for (int y = 0; y < height; y += tileSize) {
    for (int x = 0; x < width; x += tileSize) {
      // ランダムな小数を生成(切り捨てを行わない)
      float randValue = random(0, 2);

      // 小数をコンソールに表示
      println("ランダムな小数: " + randValue);
      
      if (randValue < 1) {
        fill(200, 0, 0); // 赤色
      } else {
        fill(0, 0, 200); // 青色
      }
      
      rect(x, y, tileSize, tileSize);
    }
  }
}

【Processing】floor()関数はどんな表現で使えそうか

random()を使った表現をするときに、数値をシンプルにわかりやすくしたいときに使おうと思いました。

【Processing】floor()関数を使ってみた感想

いや~random()関数を使った表現を、floor()関数で切り捨てると分かりやすさがかなり違いますね。

コンソールに表示させるといろいろなことが分かるという気づきも得られました。

ワタタク

それでは今日もレッツワクワクコーディング。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次