#角度から弧度を計算するには
ビューを回転させたり、移動する方向を指定するとき、メソッドの引数は大抵が弧度法(ラジアン角)になっている。
そして、いつもラジアン格の計算方法を忘れてしまう。
70°回転させたい時は、何ラジアンなのか?
1回転(360°)なら、何ラジアンなのか?
忘れてしまうのは「理解していないこと」が原因だと、ずーっと感じていたのでここらで一旦、整理することにした。
##Swiftにおける円周率
円周率π
(パイ)は 3.1415927…
-
M_PI
Darwin フレームワークで定義。Double型が返る。 -
Float.pi
Swift標準ライブラリで定義(Swift3 ~)。Float型が返る。ただし、3.14159
で丸められている。
##必要な公式
円の円周の長さL
を求める
直径 * 円周率π
以上。あとは考え方で理解すればいい!
#理解の仕方
##角度とは
分度器で測れる「いつもの角度」のこと。90°なら直角のあれ。
##弧度法とは
円弧が長さ(L
: Length)である時の角度rad(ラジアン)。つまり円周の長さL
を求めることになる。
##計算する
半径(r
: Radius)を1とする。
円周の長さは (半径r + 半径r)* 円周率π
になるので、円周の長さ = 2π
円を一周(360°)ならラジアン角radは、 2π
になる(Swiftでは、2M_PIで定義されている)。
180°なら半分だから、π
となる
1°のラジアン角radは、π / 180
で算出できる!
#要するに
角度θのラジアン角radは、(π / 180) * θ
で算出できる!
func radianFrom(Angle angle: Int) -> CGFloat {
return CGFloat(M_PI / 180 * Double(angle))
}
radianFrom(Angle: 180)