Unityで絶対値を使いたい人
絶対値の書き方教えて!!!
こちらです。
_abs_int = Mathf.Abs(_int); _abs_float = Mathf.Abs(_float);
本記事の内容
●絶対値のサンプルコード解説
●絶対値のアルゴリズム
●絶対値のアルゴリズム
この記事を書いている私は12才からフルスクラッチでゲームを作っています。
またコンパイラを専門として情報理工学の博士まで進学、中退をしており、プログラミング言語の文法にも関わる論文を書いていました。
実用数学技能検定1級も所持しています。
※実行環境
Unity2021.3.1f1
Windows 10
絶対値のサンプルコード解説
●_int
絶対値を取得したいint型の値
●_abs_int
計算されたint型の絶対値
●_float
絶対値を取得したいfloat型の値
●_abs_float
計算されたfloat型の絶対値
int型の絶対値
整数型の引数を与えると、整数で引数の絶対値が返ってきます。
●Mathf.Abs(2); → 2
●Mathf.Abs(0); → 0
●Mathf.Abs(-1); → 1
●Mathf.Abs(0); → 0
●Mathf.Abs(-1); → 1
float型の絶対値
実数型の引数を与えると、実数で引数の絶対値が返ってきます。
●Mathf.Abs(1.5f); → 1.5
●Mathf.Abs(0.0f); → 0.0
●Mathf.Abs(-2.5f); → 2.5
●Mathf.Abs(0.0f); → 0.0
●Mathf.Abs(-2.5f); → 2.5
絶対値のアルゴリズム
絶対値は値をプラスにする、ぐらいのざっくりとした理解もいいですが、もう少し厳密に考えてみましょう。
C#で記述すると以下です。
if (_int >= 0) { return _int; } else { return -_int; }
数学的な定義は以下です。
ちなみに2次元、3次元を前提とする数学では、絶対値を「距離」と解釈すると分かりやすいと思います。
$$|a| = \left\{
\begin{array}{ll}
a & (a \geq 0) \\
-a & (a < 0)
\end{array}
\right.$$
数学的な定義通りにコーディングされていることが分かるでしょうか。
複雑なロジックを作る際は、ある程度数式が扱えた方が実装が早く終わると思います。
以上です。
unityはいいぞ。
コメント