ワタタク
今回の記事の目的はProcessingの「floor()
関数」を理解し、自分なりに使ってみること。
目次
【Processing】floor()関数について
floor()関数について
- floorの英語の意味は「床」や「底」
floor()
関数は、数値を最も近い整数に切り捨てる関- 3.7を切り捨てると3になります
- 小数点以下を切り捨てて整数だけを使いたいときに便利
- ゲームのスコア表示やグラフの軸などに使えます
- 切り捨てるというのがとても大事
- 【Processing】ceil()関数の使い方【数値を切り上げて最も近い整数にする】のように切り上げるのではない
- 切り捨てるメリット
- 計算がシンプルになる
【Processing】floor()関数の書き方【構文】
floor()関数の書き方【構文】
floor(n)
n
は英語で「number(数)」
- nには小数点が入る
【Processing】floor()関数の使い方【画像とコード】
小数点以下を切り捨てて整数にする例
切り捨てなので5になる。
// 小数点以下を切り捨てて整数にする例
float num = 5.9;
int result = floor(num);
println(result);
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
に入るよ
切り捨てないで書いた例
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()
関数で切り捨てると分かりやすさがかなり違いますね。
コンソールに表示させるといろいろなことが分かるという気づきも得られました。
それでは今日もレッツワクワクコーディング。