Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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

ビューを回転させたり、移動する方向を指定するとき、メソッドの引数は大抵が弧度法(ラジアン角)になっている。
そして、いつもラジアン格の計算方法を忘れてしまう。
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)
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away