角度計算(ラジアン角)

ゲームで回転や向きの操作をするときに必ずと言っていいほど出てくる計算に角度計算があります。
カメラの操作やプレイヤーの向き、敵との位置関係等、色々なところで出てきます。

なのでゲームを作る上では角度計算の知識は必須です。

角度計算とは?

角度計算には主に2種類あります。

度数法

90°、180°、360°と度数で表すのが度数法です。
こちらは親しみやすいのではないかと思います。

弧度法

180°をπで表すのが弧度法です。
π=3.14と学生の時に習ったのを何となく覚えているぐらいの人が多いかと思います。
弧度法とはラジアン角(Radian)で角度を表すことです。

1Radianとは半径と外周の長さが同じになる時の角度を指します。

 

ゲームのプログラムでは基本的に弧度法で制御していきます。
なので弧度法の計算を理解することは殆ど必須です。

ただ基本の計算は慣れれば簡単なのであまり構えずに覚えていきましょう!

 

度数法と弧度法の変換

ゲームでは弧度法を使うと説明しましたが、やはり人が扱うには度数法が分かりやすいので調整などには度数法を使うことが多いです。

そのため度数法で指定した値を弧度法に変換したりその逆も多いです。
なので先ずはそれぞれの変換方法について覚えていきましょう。

度数法→弧度法

弧度法は180°をπとすると書きました。
つまり1°は下記のように算出できます。

1°のラジアン角 = π / 180

πは3.14159265358979・・・と、こんな数字は覚える必要はありません。
DirectXならD3DX_PIと定数で用意してくれていますし、なくてもネットで調べれば一発で分かります。

なので値よりも計算式を覚えていきましょう。

N°をラジアン角に変換するには1°が出たなら簡単ですよね。

N°のラジアン角 = (π / 180) * N

はい、これでN°のラジアン角が出てしまいます。
つまり π / 180 の値を掛ければすべてラジアン角になります。

弧度法→度数法

度数法から弧度法への変換が出来たなら逆の変換も簡単です。
逆にするには一時式をNを解く形に変えるだけです。

N = N°のラジアン角 * (180 / π)

つまりラジアン角に対して1°のラジアン角の逆数を掛けるだけです。

 

ラジアン角を使えば簡単にプレイヤーの向きや敵との方向なんかが出せます。
そうすれば前方のN°の視界に入っていれば追いかけてくる等の処理が簡単に実装出来てしまいます。

なのでラジアン角での計算は必ず覚えるようにしましょう!
と言っても何度も必要になるので気付いたころには覚えていると思いますけどね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です