目次
はじめに
角度を表すとき、多くのプログラミング言語では 30 度や 90 度などの「度数法」ではなく、「弧度法」を用いて計算します。弧度法を用いることでコンピュータの計算量を節約できるメリットなどがあります。
本記事では弧度法の尺度であるラジアンについての説明と、度からラジアン、ラジアンから度の変換方法を紹介します。
ラジアンとは?
ラジアンとは「円周の長さを基準とした角度の表現」です。
ラジアンは rad と表記されることもあり、「1ラジアンは円の半径の長さに等しい弧に対する中心角の大きさ」です。

日常で角度を表現する際に「◯度」というように度数を扱う度数法を用いますが、プログラミングの世界では角度を扱う際に弧度法を用いることが多いです。
度数法の360度は、弧度法では「2π」になります。これは半径1の円で考えるとイメージしやすいです。円の円周を求める公式は「直径 × 円周率(π)」で、半径が1の円だと「(1+1) × 円周率 = 2π」となり、ラジアンは半径1の円の外周を表していることが分かります。
度数法における角度は、円を360分割してそれを「度」という単位で表現され、弧度法における角度は、半径が1の円の外周の長さを用いて表現されます。
角度からラジアンへの変換方法
引数に角度を渡して計算します。Math.PI は円の円周率を表します。
public double ToRadian(double angle)
{
return angle * Math.PI / 180f;
}
上記の計算式は元々 (angle / 360) * (Math.PI * 2)
だった式を簡潔にしたものです。(引数から度数を受け取り360度で割り、2π をかける)
ラジアンから角度への変換方法
引数にラジアンを渡して計算します。
public double ToAngle(double radian)
{
return radian * 180 / Math.PI;
}
参考図書
[ゲーム&モダンJavaScript文法で2倍楽しい]グラフィックスプログラミング入門——リアルタイムに動く画面を描く。プログラマー直伝の基本 WEB+DB PRESS plus
楽しく遊べる2Dゲームの開発を進めながら、グラフィックスプログラミングの基本が学べる入門書。 一度習得すると、ゲームや映像生成、動的可視化をはじめ、幅広い分野で長く役立つグラフィックスプログラミングの基礎。 本書では、リアルタイムに動く画像を描くために求められる技術や考え方を平易に解説します。
Unityの教科書 Unity 2021完全対応版 2D&3Dスマートフォンゲーム入門講座
いちばん売れているUnity入門書が最新バージョンに対応 最新環境でゲーム制作を楽しく体験しましょう! ■本書の特徴 ●初めてゲーム制作にチャレンジする人に最適! 最初は簡単な2Dゲームの制作からスタートし、徐々に難しいゲームへと進めていきます。サンプルゲームの制作を通じて、Unityの機能と、ゲームを作るための知識が自然と身に付きます。 ●プログラムの書き方がわからなくても大丈夫! C#の基礎知識も掲載しているので、プログラミング経験のまったくない人でも、安心して学習を開始することができます。 ●ゲームを面白くするためのヒントを掲載! Unityの使い方だけでなく、ゲームの設計方法、レベルデザインなど、ゲームを面白く作るための知識も紹介しています。
作って学べる Unity 本格入門 [Unity 2021対応版] 作って学べる開発入門
本書はUnityでゲーム開発を行いたい人を対象に、1つのゲームを制作する流れを通してUnity 2021の操作が学べる入門解説本です。本書内で武器などを調達し、食べ物を求めながら冒険し、武器でモンスターと戦う3Dアクションゲームを制作していきます。本格的なゲームを実際に制作しながらUnityの使い方を学べますので、楽しみながら学びことができ、かつ実践的なテクニックも身につけることができます。
新・標準プログラマーズライブラリ なるほどなっとく C#入門
本書は、プログラミングの知識・経験がなくてもC#の基本文法を身につけることができる入門書です。 そのために、「初心者に理解して身につけてほしい機能を厳選し、ポイントを絞る」 「C#になぜその機能があるのか、どんな場面で使うのかという点も納得できる」という方針で解説しています。 C#の文法は膨大ですが、これから学ぼうとする方は、すべてを覚える必要はありません。 本書を通して、「なぜ」という疑問をひとつひとつ解消しながら、 利用頻度の高い文法をしっかりと自分のものにすることができます。