Unityで累乗の計算をしたい人
累乗のコード教えて!!!
こちらです。
//_float_aを_float_x回掛け算して_float_yに代入 _float_y = Mathf.Pow(_float_a, _float_x);
本記事の内容
●累乗のサンプルコード解説
この記事を書いている私は12才からフルスクラッチでゲームを作っています。
またコンパイラを専門として情報理工学の博士まで進学、中退をしており、プログラミング言語の文法にも関わる論文を書いていました。
実用数学技能検定1級も所持しています。
※実行環境
Unity2021.3.1f1
Windows 10
累乗のサンプルコード解説
●_float_a
指数関数の底に対応する実数
●_float_x
指数関数の指数に対応する実数
●_float_y
累乗の計算結果
どんな計算をしているか
MathfクラスのPow関数は、実数float、整数intなどの引数を与えると、累乗の計算結果が返ってきます。
例えば2を5回掛け算する場合は以下のように書きます。
Mathf.Pow(2, 5);
その計算を具体的に書くと、
$$2 \times 2 \times 2 \times 2 \times 2 = 32$$
のような具合です。
累乗はタダの掛け算とどう違うのか
ところが累乗という考え方では掛け算の回数は整数回とは限らず、1.5回など小数の場合も出てきます。
その辺りを以下のように計算してくれるのがPow関数というワケです。
●Mathf.Pow(10, 2) → 100
●Mathf.Pow(2.718f, 2.718f) → 15.14572
●Mathf.Pow(2.718f, 2.718f) → 15.14572
こういった計算の仕方を、数学では指数関数として定義しています。
$$y = a^x$$
Pow関数を使う際はこのように、数学の側面もしっかり知っておくと実装が楽になると思います。
逆に考えると、数学の側面を知らなくてもいい程度の実装であればこの関数を使うメリットはないと思っています。
例えばダメージ計算で2倍、2倍、を重ねていく計算はよく使うかもしれませんが、普通に掛け算をした方が分かりやすいですよね。
今回は以上です。
Unityはいいぞ。
コメント