【コピペでUnity】絶対値の書き方を秒で教えます

Unity
Unity

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

 

float型の絶対値

実数型の引数を与えると、実数で引数の絶対値が返ってきます。

●Mathf.Abs(1.5f); → 1.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はいいぞ。

コメント

タイトルとURLをコピーしました