文書の表示以前のリビジョンバックリンク文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ====== atan2 ====== 一般に正接関数($x=\mathrm{tan}\,\theta$)の逆関数($\theta=\mathrm{tan}^{-1}x$)は値域を$(-\pi/2,\pi/2)$としている. [{{ articles:atan2.png?250| 図 atan2の役割 }}] たとえば, $$ \mathrm{tan}(\pi/4)=1 $$ であり, $$ \mathrm{tan}^{-1}(1)=\pi/4 $$ である. しかし,これだとx,yの座標値でx軸からの回転角度を出すときに$\mathrm{tan}^{-1}(y/x)$としたのでは 図の斜線部(第2象限,第3象限)の角度を出すことが出来ない. これを可能にするのが$\mathrm{atan2}$関数であり,多くのプログラミング言語のライブラリに組み込まれている. その定義は各象限,$\pi/2$,$-\pi/2$で場合分けされて以下のようになっている. $$ \theta = \mathrm{atan2}(y,x) = \left\{ \begin{array}{cc} \mathrm{tan}^{-1}(y/x)-\pi & (x<0, \, y<0) \\ -\pi/2 & (x=0,\, y<0) \\ \mathrm{tan}^{-1}(y/x) & (x>0) \\ \pi/2 & (x=0,\, y>0) \\ \mathrm{tan}^{-1}(y/x)+\pi & (x<0 \, y \ge 0) \\ \mathrm{unknown} & (x=0, \, y=0) \end{array} \right. $$ pythonなど多くのプログラミング言語ライブラリでは$\mathrm{atan2}(0,0)$をunknownとせずに0.0としている. articles/atan2.txt 最終更新: 2024/09/03 12:38by Takashi Suehiro