$atan2 (2 引数アークタンジェント)

最終更新:2026-10-09

$atan2 (2 引数アークタンジェント)

$atan2 は y 座標と x 座標から方位角をラジアン単位で返します。引数の順序は [y, x] です。4 つの象限すべてを正しく処理し、直交座標を極座標形式に変換するための主要な演算です。方向計算、ナビゲーション、グラフィックスでの回転などに使われ、例えば座標差から進行方向の角度を求められます。引数が null または欠落している場合は null を返します。y と x の両方が 0 のときは結果が未定義になります。$atan と違い象限の情報を保持し、-π から π の範囲の値を返します。

カテゴリ数学
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $atan2: [ <y>, <x> ] }

⚙️ パラメータ

Y 座標y 成分。最初の引数。
X 座標x 成分。2番目の引数。両方とも 0 の場合は未定義。

戻り値:ラジアン単位の方位角。null または欠落している場合は null、y と x がともに 0 の場合は未定義

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $atan2: x と y の座標から方位角を求める
db.points.aggregate([
  { $project: {
      bearing: { $atan2: ['$y', '$x'] }
  } }
])

出力:

{ '_id': 1, 'bearing': 0.7853981633974483 }
{ '_id': 2, 'bearing': -1.1071487177940904 }

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q$atan2 の引数の順序は?
Ay が先、x が後です。入れ替えると誤った角度になります。
Q$atan2 と $atan の違いは?
A$atan2 は 2 つの座標成分を受け取り象限を判定します。$atan は単一の傾きを受け取ります。
Q$atan2 の結果の範囲は?
A-π から π ラジアン、つまり -180 度から 180 度です。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%