ラジアン(弧度法)

プログラムで「角度」を扱う場合、慣れ親しんだ「度」でコントロールする場合と、慣れ親しんでない「ラジアン(弧度法)」でコントロールする場合の2通りがあるよ。
このエントリでは「ラジアン(弧度法)」の概要と「度数法、弧度法における双方への変換」について書き連ねてみるよ
そもそも弧度法の「弧」ってなんじゃらほい?
ラジアン(弧度法)は「弧の長さと、円の半径を基に角度を求める方法」だそうです。では、その「弧」とはそもそもなんなのかを思い出してみるよ
「弧」とは分かりやすく言えば「円周の一部」だよ。面倒くさい感じで言うと「円周上の2点で分けられたそれぞれの部分」だよ

とりあえず円周。
何度も書くようだけど、ラジアン(弧度法)は「弧の長さと、円の半径を基に角度を求める方法」なんだって。つーことで、「弧の長さを求める」ためにも小学校で学んだ「円周」についてちょっとだけおさらいするよ
✎ 円周を求める為の公式はこんなんだったね
- 【公式:円周】
- 直径×3.14
- 【直径ベースではなく、半径ベースでの式】
- (半径×2)×3.14

半円で考えてみるよ
上記の半径ベースでの式をふまえて、半円の場合を考えてみるよ。ここで言う半円は「円の中心から0度と180度の方向へ線分を引いた場合にできる弧」と同じカタチになる扇形で、円周はあくまでも曲線部のコトだけを指すコトにするよ。
- 【半円の場合】
- (半径×2)×3.14÷2
- 【上記の式をコンパクトに纏めるよ】
- 半径×3.14

上記の式から、半円の半径を「1」として定義した場合、半円の円周(または弧)の長さは3.14ということになるよ。
弧の長さはどう求める?
先の半円の例をふまえると、弧を「円の中心」から「2本の線分」を引き、円周上にとった2点で考えた場合、弧の長さは角度に比例するということになるよ

仮にこの角度をθ(シータ)とした場合、円全体からの角度の割合は「θ / 360」になるよ。ついでに半円の場合で考えたら「180 / 360 (1/2)」だね。半円の例では円周を2で割っていたけど、どうやらこのオハナシと繋がるみたいだね
ちなみに中学1年生で学んだ、弧の長さについてはこんな説明があったよね
中学1年生:平面図形
扇形の弧の長さや面積は中心角に比例します。従って半径 r 、中心角 x 度の扇形の弧の長さは 2 πr の x / 360 倍、面積は πr2の x / 360 倍になる。
✎ てことで弧の長さの公式
- 【公式:弧の長さ】
- 2πr × ( θ / 360 )
以上、小中学校の算数・数学のおハナシでした。
ここまでのオハナシは超余談。余談すぎてお腹減ってきた。
登場!ラジアン大王
地球の英知「Wikipedia」で、ラジアンについて調べてみたよ。
ラジアン
ラジアンは、円周上でその円の半径と同じ長さの弧を切り取る2本の半径が成す角の値と定義される。度数法で測った360度は、弧度法においては2πラジアンになる。よって、1ラジアンは(360 / 2π) = 約57.29578度となる。
この説明を平たく解釈すると以下のようになるよ
- ☺ 半径と弧の長さが一緒の場合を1 rad(ラジアン)という角の値にするよ(以下、図解)

☺ 360度は、弧度法で 2πラジアン。180度は、弧度法で πラジアン。
☺ 1ラジアンは(360 / 2π) = 約57.29578度となる。
☺ 1ラジアンは(180 / π) = 約57.29578度となる。
てことは、1 rad を π倍すると180度になるんだね。んでもって、2π倍すると360度になる。てことは、π radを180度で割ると、0.0174532925….で、1度は約0.0174532925 radってことになるね。
これでやっと「度数法、弧度法における双方への変換」の方法が浮かび上がりそうな気がしてきたね。
変換!度数法アンド弧度法
とりあえず、公式から書くね
- 【公式:度数法から弧度法への変換】
- ラジアン = 度 × ( π ÷ 180 )
- 【公式:弧度法から度数法への変換】
- 度 = ラジアン × ( 180 ÷ π )
前項をふまえると、この公式ってこう書くと理解が早いかも
(実際には使わないでね)
- 【度数法から弧度法への変換】
- ラジアン = 度 × ( 0.0174532925 )
- 【弧度法から度数法への変換】
- 度 = ラジアン × ( 57.29578 )
度数法から弧度法への変換は、変換したい度数に1度あたりのラジアンの値(0.0174532925)を掛けているだけだよ。逆に、弧度法から度数法への変換は、変換したいラジアンに、1ラジアンあたりの度数を掛けているだけだよ
てことで、最後にJavaScriptで実験君。
var degrees = 1 * (180 / Math.PI); alert(degrees); //...① var radians = 1 * (Math.PI / 180); alert(radians); //...② // ① 結果:57.29577951308232 // ② 結果:0.017453292519943295
1行目では「1ラジアンを度数に変換」し、4行目では「1度をラジアンに変換」しているよ。これで変換ができるようになったね。めでたしめでたし。
お広告
-
http://www.facebook.com/profile.php?id=100000795082528 くろさわ あつし
-
http://tetsuwo.tumblr.com/ Tetsuwo Oishi

