【Processing】ceil()関数の使い方【数値を切り上げて最も近い整数にする】

  • URLをコピーしました!
ワタタク

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

この記事を書いた人

ワタタク(Watataku)
  • クリエイティブコーダー / アーティスト
  • 「人の心に寄り添う、機能するアート」を探究しています
  • アートとテクノロジーが、社会や個人のウェルビーイングにどう貢献できるかに、関心があります

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

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

目次

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

ceil()関数について
  • ceilは「ceiling」の略で、英語で「天井」を意味する
  • ceil()関数は、数値を切り上げて最も近い整数にする関数
    • 数値を切り上げるので、天井というceilという意味もイメージしやすい
  • ceil()関数は、ゲームでキャラクターを座標に移動させるときや、グラフの表示で小数点を扱わないときに便利
  • ceil()関数は「切り上げる」というのが大事。四捨五入ではない。
    • 切り上げ (rounding up): 常に次の整数にする
    • 3.1も3.8もどちらも4にする
      • 四捨五入 (rounding): 数字を最も近い整数にする
      • 3.2は3に、3.8は4になる。0.5以上の端数は切り上げ、0.5未満の端数は切り捨てる

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

ceil()関数の書き方【構文】
  • ceil(n)
    • ceil(n)nは、数値を意味する英語の「number」または「numeric value」の略

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

切り上げた数値をコンソールに表示させる

切り上げた数値をコンソールに表示させる
float num = 3.2;
int roundedNum = ceil(num);
println(roundedNum); // 出力は4になる

num は数値を意味する “number” の略で、ここでは切り上げ対象の数値 3.2 を表しています。

roundedNum は切り上げた後の数値を意味する “rounded number” の略で、ここでは ceil() 関数を使って切り上げられた数値、つまり 4 。

だから、このプログラムでは num が元の数値、roundedNum が切り上げた後の数値になります。

ceil()を使って円を描き、切り上げた数値をコンソールに出るようにする

ランダムな位置に表示させているので、下にあるコードをコピーして実行すると違う配置になります。

ceil()を使って円を描き、切り上げた数値をコンソールに出るようにする

ランダムな位置に表示させているので、下にあるコードをコピーして実行すると違う表示になります。

void setup() {
  size(400, 400);
  background(255);

  for (int i = 0; i < 10; i++) {
    float size = random(10, 50); // ランダムなサイズ
    int roundedSize = ceil(size); // 切り上げ
    ellipse(random(width), random(height), roundedSize, roundedSize);
  }
}

コードの解説。

  1. キャンバスの設定size(400, 400); で幅400、高さ400の画面を作る
  2. 背景を白に設定background(255); で背景を白に。255は白色の値。
  3. 繰り返し処理for (int i = 0; i < 10; i++) は、10回繰り返すためのループ。iは回数を数える変数。
  4. ランダムな大きさの円を作成float size = random(10, 50); で、10から50の間のランダムな大きさを選ぶ。
  5. 大きさを整数に切り上げるint roundedSize = ceil(size); で、選んだ数値を切り上げて整数にする。
  6. 円を描くellipse(random(width), random(height), roundedSize, roundedSize); でランダムな位置に円を描く。widthheightはキャンバスの幅と高さ。

【Processing】ceil()関数で図形を描くメリット

  1. 簡単で正確な計算:小数点以下を切り上げることで、計算が簡単になる。特に、位置やサイズを整数で扱うときに役立つ。
  2. グラフィックスの整合性:整数値にすることで、図形やオブジェクトがピクセル単位で正確に表示される。これで、ずれたりぼやけたりすることが少なくなる。
  3. パフォーマンスの向上:小数点の計算はコンピュータにとって少しだけ重い処理。整数で計算すると、少しだけ処理が速くなることがある。
  4. 一貫性のある出力:切り上げを使うと、結果が常に期待通りの整数になる。これで予測しやすく、バグも減る。

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

僕は図形表現で使ってみようと思います。

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

小数点をすべて切り上げて整数に統一するのは面白いと感じました。

Processingはいろんなことができて本当にすごい。

ワタタク

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

ワタタク(Watataku)
クリエイティブコーダー/アーティスト
AIと共に、「人の心に寄り添う、機能するアート」を探究しています。

ここは、その思索と創造の全記録を記す、思考の実験室(アトリエ)です。

僕の創作の源泉は、人生経験そのものです。
不当な出来事や、精神的な支配の中で、私の心は何度も粉々に砕け散りました。しかし、その一つ一つの破片をどのようにすれば鮮やかな絵の具にできるかを考え、ゆっくり心のパレットに色を整えていきました。その、長い、長い、自身との対話の果てに「人の役に立つアートを作りたい」という考え方にたどり着きました。

かつて、僕の武器は、アコースティックギター弾き語りと、カメラでした。
オリジナルソングの演奏でお客様投票1位となった「物語の力」。
世界20カ国の旅で培った、多様な「視点」。

今、僕は、それら全ての経験を、「コード」という、新しい言語で、世界に問いかけています。

このブログでは、作品の制作過程や、日々の発見、そして、僕自身の上達の軌跡を記録していきます。

僕の旅が、あなたの日常を、ほんの少しでも豊かにするための、光になることを願って。

クリエイティブコーディングロード運営者 ワタタク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次