C での atan と atan2 の区別
C には、atan や atan2 などの三角関数計算用の数学関数が用意されています。それらの違いを理解するために、正接関数を調べてみましょう。
正接関数と象限
角度 α の正接は、tan(α) = sin(α) として定義されます。 )/cos(α)。ただし、象限によりあいまいさが生じます。
Quadrant | Angle Range | sin Sign | cos Sign | tan Sign |
---|---|---|---|---|
I | 0 < α < π/2 | |||
II | π/2 < α < π | - | - | |
III | π < α < 3π/2 | - | - | |
IV | 3π/2 < α < 2π | - | - |
atan 関数
atan 関数は、x >
atan2 Function
atan とは異なります、atan2 関数は 2 つの引数 y と x を取り、これらは y および x 上のベクトルの投影を表します。
atan2(y, x) は、y 座標と x 座標の両方を別々に考慮して、y/x の逆正接を計算します。これは、コサインが負の場合に atan() の結果に π を追加することによって 4 つの象限すべてを解決します。
実際的な意味
atan(y/x) は角度のみを決定できます。 atan2(y, x) は象限 I または IV から完全な情報を取得し、すべての象限で正しい角度を解決します。
結論
要約すると、atan は限られた情報を提供し、象限 I または IV 内の角度を想定しますが、atan2 は包括的なデータを取得してすべての象限の角度を決定します。 。すべての象限にわたる正確な角度計算が必要な場合は、atan2 が推奨されます。
以上がC で `atan` と `atan2` を使用する場合: 直角を与える関数はどれですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。