

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
atan2とは何かを知ろう
atan2はプログラミングや数学でよく使われる角度を求める関数です。2つの値を受け取り、原点から見たベクトルの方向を表す角度を返します。この角度は地図の方向やロボットの向き、ゲームのキャラクターの進む方向を計算するときにとても便利です。
atanとの違いのポイント
同じ名前に atan という関数がありますが、役割が異なります。atan は y/x の比から角度を返します。そのため象限を正しく判断できず、あるときは方向が逆に出ることがあります。一方 atan2 は y と x の符号を同時に見て象限を正しく決めます。これにより四つの象限すべてで正しい角度を得ることができます。
基本的な使い方
多くの言語では形が似ており、一般的な形は atan2(y, x) です。ここで y は縦方向の差、x は横方向の差を表します。戻り値はラジアン単位で -π から π までの値になります。度数が必要な場合は度数に変換して使います。
実際の使い方のイメージ
実務では地図データの方向、ロボットの向き、ゲームのプレイヤーの向きを計算する場面で atan2 を頻繁に使います。例えば dx が右に増えるときの角度は 0 に近付き、dy が正のときは角度が正の値になり、dx が負になると角度は π に近づく、というように直感的に動作します。度数に直すには angleInRadians を 180/π で掛けるだけです。
| 入力 | 出力 | 説明 |
|---|---|---|
| dx=1 dy=0 | 0 | 右方向の角度 |
| dx=0 dy=1 | π/2 | 上方向の角度 |
| dx=-1 dy=0 | π | 左方向の角度 |
| dx=0 dy=-1 | -π/2 | 下方向の角度 |
実務での扱いのコツ
atan2 は y と x の符号を見て象限を適切に判定する点が大きな利点です。プログラム内で角度を使うときは必ずラジアンで扱い、外部の人へ渡すときや表示する場合は度数へ変換します。取り扱い方を間違えないこと が肝心です。
まとめ
atan2は二つの差分から正しい角度を返す信頼性の高い関数です。atanとの違いを理解し象限を正しく扱えるようになると、方向計算の設計がぐんと楽になります。初めて触れる人は dy と dx の意味を混同しないように気をつけ、まずはラジアン表示と度数表示の両方を使い分ける練習をするとよいでしょう。
atan2の同意語
- atan2
- 2引数をとる逆正接関数。座標 (x, y) から原点を基準とする角度を返します(通常は -π から π の範囲)。y は縦方向、x は横方向の値で、象限を正しく判定して角度を計算します。
- アークタンジェント2引数
- atan2 の日本語表現の一つ。2つの引数を取り、(x, y) に対応する角度を返す関数です。
- 二引数アークタンジェント
- atan2 の別表現。2つの実数を入力として角度を返す関数の名称のこと。
- 二引数逆正接関数
- atan2 の別名。逆正接(アークタンジェント)を2引数で計算する関数を指します。
- 2引数逆正接関数
- 同上。2つの値を使って角度を返す関数の呼び方の一つ。
- atan2f
- float 型版の atan2。浮動小数点数の精度を指定して角度を計算します。
- atan2l
- long double 型版の atan2。高精度版で、長い浮動小数点数を扱います。
- アークタンジェント(y, x) 関数
- y と x のペアを入力として角度を返すアークタンジェント関数の表現の一つ。
atan2の対義語・反対語
- tan
- 正接。角度 θ に対して tan(θ) = sin(θ)/cos(θ) を返す三角関数。atan2(y, x) が座標から角度を求めるのに対し、tan は角度と比の関係を返す方向の代表的な関係です。
- arctan
- 逆正接。tan の逆関数で、比から角度を求めます。atan2 の「座標から角度を導く」操作とは別の方向性を持つ関数です。
- デカルト座標→極座標変換
- デカルト座標 (x, y) から極座標 (r, θ) に変換する操作。r = sqrt(x^2 + y^2)、θ = atan2(y, x) のように角度を求める点が、atan2 の逆方向の概念として挙げられます。
- 極座標→デカルト座標変換
- 極座標 (r, θ) からデカルト座標 (x, y) に変換する操作。x = r cos θ、y = r sin θ。atan2 が角度から座標を作るのと反対の変換です。
- 極座標化
- デカルト座標系の点を極座標系へ変換する一般的な操作。
- デカルト座標化
- 極座標系の点をデカルト座標系へ変換する一般的な操作。
atan2の共起語
- アークタンジェント
- 逆正接関数。tan の逆関数で、入力の比から角度を求めます(通常 -π/2 から π/2 の範囲の値を返します)。
- 逆正接
- アークタンジェントと同義の用語。tan の逆関数で、角度を求める関数です。
- ラジアン
- 角度の基本単位。円周を 2πで割った長さに対応する単位で、atan2 の出力は通常ラジアンです。
- 度
- 角度の別の単位。1周は 360 度。度へ変換することがよくあります。
- π
- 円周率。約 3.14159。角度計算の基本定数です。
- 出力範囲
- atan2 の出力は一般に -π から π の範囲に収まります(実装により若干異なることがあります)。
- Math.atan2
- JavaScript の組み込み関数。y と x から角度を返します。
- atan2f
- C/C++ の float 用の atan2 関数。実数の y, x から角度を返します。
- atan2l
- C/C++ の long double 用の atan2 関数。
- Pythonの atan2
- Python の math.atan2 関数。y と x から角度を返します。
- Javaの atan2
- Java の Math.atan2 関数。y と x から角度を返します。
- x座標
- 座標系の X 軸の値。atan2 の第二引数として使われることが多いです。
- y座標
- 座標系の Y 軸の値。atan2 の第一引数として使われることが多いです。
- dx
- x 成分の変化量。ベクトルの水平成分として用いられます。
- dy
- y 成分の変化量。ベクトルの垂直成分として用いられます。
- ベクトル
- 大きさと向きを持つ量。方向を求める際に atan2 で角度を決定します。
- 2次元座標
- 2D 空間を表す座標系。通常は x と y の組で表します。
- 極座標
- 点の位置を半径 r と角度 θ で表す座標系。
- デカルト座標
- 直交座標系。x,y の組で位置を表します。
- 象限
- 座標平面を 4 つの領域に分けた区分。角度の符号と向きで決まります。
- 第一象限
- x > 0, y > 0 の象限。
- 第二象限
- x < 0, y > 0 の象限。
- 第三象限
- x < 0, y < 0 の象限。
- 第四象限
- x > 0, y < 0 の象限。
- 方位角
- 北を基準とした方角の角度。地図・航法で使われます。
- ベアリング
- 移動・向きを表す角度。方位角と同義で使われることがあります。
- 角度
- 2つの方向の間の開き具合を示す量。
- 出力単位の変換
- ラジアンと度の相互変換を行います(rad × 180/π、deg × π/180)。
- 度への変換
- ラジアンを度に変換する式。deg = rad × 180/π。
- ラジアンへの変換
- 度をラジアンに変換する式。rad = deg × π/180。
- π/2
- 90度をラジアンで表した値。約 1.5708。
- 角度の正規化
- 角度を特定の範囲に揃える処理。例: -π〜π の範囲へ収める等。
- 2Dゲーム
- 2D ゲーム開発で方向・向きの計算に用いられます。
- グラフィックス
- 描画や画像処理で向きを求める際に使われます。
- ロボティクス
- ロボットの向きや回転を計算する場面で使われます。
- GPS/航法
- 方位角の計算や位置合わせに利用されます。
atan2の関連用語
- atan2
- 二引数関数。点の座標 (x, y) の原点からの方向角を返します。y と x の符号を使って象限を判定し、-π から π の範囲の角度を出力することが多い(度に換算すると -180° 〜 180°)。
- atan
- 逆正接関数の一つ。y/x の比から角度を出しますが、象限情報を失いがちなので、atan2 の代わりに使うと角度が正しく出ないことがあります。
- アークタンジェント
- atan/atan2 の総称として使われる逆正接関数の別名。
- タンジェント (tan)
- sin/cos の比。角度 θ に対して tan θ が出る。
- ラジアン
- 角度の単位の一つ。円周の 2π 分の1を1 ラジアンと呼び、数学でよく使われる。
- 度
- 角度の単位。1 周は 360 度。
- ラジアンと度の変換
- 角度の単位を変える公式。度 = ラジアン × 180/π、ラジアン = 度 × π/180。
- 二引数関数
- atan2 の特徴で、y と x の二つの引数を取る。
- 象限
- 平面上を 4 つの領域に分けた区域。atan2 は入力の符号から象限を決定して正しい角度を返す。
- ベクトルの方向角
- 原点を起点とするベクトルの向きを表す角度。dy, dx を使って atan2(dy, dx) で求める。
- 極座標系
- 点を半径 r と角度 θ で表す座標系。
- 極座標変換
- デカルト座標と極座標の間の変換。θ の値を得るのに atan2 が使われることがある。
- ユニットサークル
- 半径が 1 の円。角度 θ に対応する座標 (cos θ, sin θ) を理解するのに役立つ。
- サイン (sin)
- 直角三角形の対辺と hypotenuse の比。単位円で y 座標と関係する。
- コサイン (cos)
- 直角三角形の隣辺と hypotenuse の比。単位円で x 座標と関係する。
- 実装言語の例
- C 言語の math.h の atan2、Python の math.atan2、JavaScript の Math.atan2、R の atan2 など、主要な言語で実装されています。
- 使い方のポイント
- 方向角を取りたい場合は y, x の順で渡すこと。角度を度にしたい場合は別途 rad2deg の変換を使う。



















