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

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

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

この記事を書いた人

クリエイティブコーダー Watataku のプロフィール写真
ワタタク(Watataku)

上達の研究家 / アーティスト

「才能」ではなく「論理(システム)」で、人の心を動かす機能するアートを探究中

【文系・36歳・未経験】から独学でクリエイティブコーディングに挑戦し、独自の思考法で以下の実績を達成

  • 開始1年8ヶ月目までに公募6つに挑戦し、3つ入選(勝率50%)
  • 開始1年9ヶ月目に、虎ノ門ヒルズ ステーションタワー49階 スカイガーデン&プールのために制作した作品が展示される

記事内の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()関数で切り捨てると分かりやすさがかなり違いますね。

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

ワタタク

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

ワタタク(Watataku)
上達の研究家
アナログ絵画(2025.11~) × クリエイティブコーディング(2024.3~)

「不完全な人間(Analog)」が、「完全な論理(Algorithm)」を武器にどこまで行けるか。

手描きの一本の線(One)をコードで無限(All)に拡張し、再び一つの作品へ定着させる。「才能」ではなく「発見」と「システム」で描く、人生をかけた実験記録。

溢れる思考を、独自の脳内OS「Watataku Blueprint」で整理し、初心者から世界で活躍するまでの「激闘」と「攻略本」を公開しています。

▼【創作×上達】思考を「作品」に変える、モレスキン6冊の運用設計図
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次