LoginSignup
13
19

More than 5 years have passed since last update.

【Swift】120°は何ラジアン?(角度から弧度を計算する)

Last updated at Posted at 2016-09-30

角度から弧度を計算するには

ビューを回転させたり、移動する方向を指定するとき、メソッドの引数は大抵が弧度法(ラジアン角)になっている。
そして、いつもラジアン格の計算方法を忘れてしまう。
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)* 円周率π になるので、円周の長さ =

円を一周(360°)ならラジアン角radは、 になる(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)
13
19
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
19