2026年8月27日木曜日

arctan と atan2 の違い ― 象限で比較

arctan と atan2 ― 象限で比較できる操作HTML
```
22px
```
```

ユーザー

arctan と atan2 の違いを、 象限を使った表で比較する。

arctan は \(y/x\) から角度を求めるが、 atan2 は \(y\) と \(x\) を別々に使う。

第1・第2・第3・第4象限で、 両者がどのように違うのかを確認する。

実際に単位円上の点を操作し、 arctan と atan2 の値を同時に確認できるようにする。

arctan と atan2 の違い ― 象限で比較

arctan と atan2 は、 どちらも角度を求めるために使われます。

しかし、 象限を考えると重要な違いがあります。

単位円と三角関数

\[ \boxed{x^2+y^2=1} \]

単位円上の点を \(P=(x,y)\) とします。

\[ x=\cos\theta \qquad y=\sin\theta \]
\[ \tan\theta=\frac{y}{x} \]

arccos

\[ \boxed{\theta=\arccos(x)} \]

x座標から角度を求めます。

\[ 0^\circ\leq\theta\leq180^\circ \]

arcsin

\[ \boxed{\theta=\arcsin(y)} \]

y座標から角度を求めます。

\[ -90^\circ\leq\theta\leq90^\circ \]

arctan

\[ \boxed{ \theta= \arctan\left(\frac{y}{x}\right) } \]

\(y/x\) という 傾き から角度を求めます。

\[ -90^\circ<\theta<90^\circ \]

arctan は「傾き」を見る

arctan は、 \(y\) と \(x\) の比率から角度を求めます。

\[ \boxed{ \theta= \arctan\left(\frac{y}{x}\right) } \]

しかし、 \(x\) と \(y\) の符号を別々には扱いません。

そのため、 第1象限と第3象限のように 傾きが同じ方向 では同じ値が出ることがあります。

4つの象限で比較

象限 x y y/x arctan(y/x) atan2(y,x)
第1象限 + + + 例:45° 45°
第2象限 − + − 例:−45° 135°
第3象限 − − + 例:45° −135°
第4象限 + − − 例:−45° −45°

なぜ arctan では象限が分からないのか

第1象限の点 \((1,1)\) では、

\[ \frac{y}{x}=1 \] \[ \arctan(1)=45^\circ \]

ところが第3象限の点 \((-1,-1)\) でも、

\[ \frac{-1}{-1}=1 \] \[ \arctan(1)=45^\circ \]

となります。

しかし、 \((-1,-1)\) は第3象限です。

実際の方向角は −135° または 225° です。

ここに arctan と atan2 の大きな違い があります。

atan2 は x と y を別々に使う

\[ \boxed{ \theta=\operatorname{atan2}(y,x) } \]

atan2 は \(y/x\) という比だけにせず、 x と y を別々に扱います。

そのため、 xとyの符号から 第1・第2・第3・第4象限を区別できます。

座標軸上ではどうなるか

点 atan2(y,x) 方向
(1,0) 0° +X
(0,1) 90° +Y
(−1,0) 180° −X
(0,−1) −90° −Y

120°で比較してみる

θ = 120° とします。

\[ x=\cos120^\circ=-\frac12 \]
\[ y=\sin120^\circ= \frac{\sqrt3}{2} \]

したがって、

\[ \frac{y}{x}=-\sqrt3 \]

arctanでは、

\[ \arctan(-\sqrt3) = -60^\circ \]

しかし atan2 は、 xが負、 yが正であることから 第2象限 を認識します。

\[ \operatorname{atan2} \left( \frac{\sqrt3}{2}, -\frac12 \right) = 120^\circ \]
arctan と atan2 を同じ単位円で操作
\[ \boxed{x^2+y^2=1} \]
60.0°
0.500
0.866
x = cos(θ)
0.500000
y = sin(θ)
0.866025
x² + y²
1.000000
arctan(y/x)
60.000°
atan2(y,x)
60.000°
tan(θ)
1.732051
象限
第1象限
θ
60.000°
操作方法: 単位円上の点 P をマウスまたはタッチで動かしてください。
θ、 x、 y、 arctan、 atan2、 象限が同時に更新されます。

まとめ

\[ \boxed{ \arctan\left(\frac{y}{x}\right) } \]
→ 傾きから角度
\[ \boxed{ \operatorname{atan2}(y,x) } \]
→ x・yの符号を含めて方向角を求める

したがって、 「傾き」だけを見るのが arctan、 「方向」を扱うのが atan2 と考えると、 違いを理解しやすくなります。

```