在三角函数中，两个参数的函数{\displaystyle \operatorname {atan2} }是正切函数\tan的一个变种。对于任意不同时等于0的实参数x和y，{\displaystyle \operatorname {atan2} (y,x)}所表达的意思是坐标原点为起点，指向(x,y)的射线在坐标平面上与x轴正方向之间的角的角度。当y>0时，射线与x轴正方向的所得的角的角度指的是x轴正方向绕逆时针方向到达射线旋转的角的角度；而当y<0时，射线与x轴正方向所得的角的角度指的是x轴正方向绕顺时针方向达到射线旋转的角的角度。

在几何意义上，{\displaystyle \operatorname {atan2} (y,x)}等价于{\displaystyle \operatorname {atan} ({\frac {y}{x}})}，但{\displaystyle \operatorname {atan2} }的最大优势是可以正确处理x=0而{\displaystyle y\neq 0}的情况，而不必进行会引发除零异常的\frac{y}{x}操作。

{\displaystyle \operatorname {atan2} }函数最初在计算机编程语言中被引入，但是现在它的应用在科学和工程等其他多个领域十分常见。他的出现最早可以追溯到FORTRAN语言，并且可以在C语言的数学标准库的math.h文件中找到，此外在Java数学库、.NET的System.Math（可应用于C#、VB.NET等语言）、Python的数学模块以及其他地方都可以找到atan2的身影。许多脚本语言，比如Perl，也包含了C语言风格的atan2函数。

函数定义
----

该函数基于值域为 \left ( -\frac{\pi}{2}, \frac{\pi}{2} \right ) 的反正切函数，定义如下：

\operatorname{atan2}(y, x) = \begin{cases}
\arctan\left(\frac y x\right) & \qquad x > 0 \\
\arctan\left(\frac y x\right) + \pi& \qquad y \ge 0 , x < 0 \\
\arctan\left(\frac y x\right) - \pi& \qquad y < 0 , x < 0 \\
+\frac{\pi}{2} & \qquad y > 0 , x = 0 \\
-\frac{\pi}{2} & \qquad y < 0 , x = 0 \\
\text{undefined} & \qquad y = 0, x = 0
\end{cases}
说明**:**

* 该函数的值域为{\displaystyle \left(-\pi ,\pi \right]}，可以通过对负数结果加2\pi 的方法，将函数的结果映射到\left [ 0,2\pi\right )范围内。

其他软件中的变形
--------

不同计算机语言中该函数的实现各有差异。

vb6:

atan2(x,y)=

(x<>0+y<>0)\*

(x<=0)\*2\*Atn(sgn(y)^sgn(y))/2^(x<>0)-

(x<>0)\*Atn(y\*x^(x<>0))

adodb.connect.execute:

SELECT (x<>0+y<>0)\*(x<=0)\*2\*Atn(sgn(y)^sgn(y))/2^(x<>0)-(x<>0)\*Atn(y\*x^(x<>0)) AS AT\_ FROM (SELECT Col1 AS x,Col2 AS y) T\_

(x<>0+y<>0)可省略

有关图片
----

单位圆内的atan2取值
旁边的图片显示内容是：在一个单位圆内{\displaystyle \operatorname {atan2} }函数在各点的取值。圆内标注代表各点的取值的幅度表示。

图片中，从最左端开始，角度的大小随着逆时针方向逐渐从{\displaystyle -\pi }增大到{\displaystyle +\pi }，并且角度大小在点位于最右端时，取值为0。

另外要注意的是，函数{\displaystyle \operatorname {atan2} (y,x)}中参数的顺序是倒置的，{\displaystyle \operatorname {atan2} (y,x)}计算的值相当于点(x,y)的角度值。

下方的图片显示的是单位圆上各点在atan2函数上的值，从原点射向(0,1)点的射线，开始绕逆时针方向可以与x轴正方向得到对应各点的复平面的复角，其中几个特殊点取值：

* (0,1)对应的复平面夹角为\frac{\pi}{2}，
* (-1,0)对应复平面的夹角为\pi ，
* {\displaystyle (0,-1)}对应复平面的夹角为{\frac {3\pi }{2}}，
* 回到(1,0)复平面的夹角为{\displaystyle 0=(2n\pi \mod 2\pi )}。

这些你可以直观地从图中看出。


下面的插图分别显示的是{\displaystyle \operatorname {atan2} (y,x)}和{\displaystyle \operatorname {atan} ({\frac {y}{x}})}在坐标平面的三维景象。

注意在{\displaystyle \operatorname {atan2} (y,x)}函数中，从原点辐射出的射线上有常数值，而在{\displaystyle \operatorname {atan} ({\frac {y}{x}})}的函数中，经过原点的直线有常数值。

参考文献
----

1. ↑  Organick, Elliott I.. Addison-Wesley. 1966: 42. Some processors also offer the library function called ATAN2, a function of two arguments (opposite and adjacent).
2. ↑  The Linux Programmer's Manual  （页面存档备份，存于） says:

"The **atan2**() function calculates the arc tangent of the two variables ***y*** and ***x***. It is similar to calculating the arc tangent of ***y*** / ***x***, except that the signs of both arguments are used to determine the quadrant of the result."
3. ↑ .  [2011-04-10]. （原始内容存档于2011-07-14）.

参见
--

* 辐角
* 复数
* 反三角函数中的反正切（正切函数的反函數）

外部链接
----

* Java 1.6 SE JavaDoc（页面存档备份，存于）
* C++ Programmer's Reference（页面存档备份，存于）

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
三角函数 |
| --- |
|  |
| 基本函數 | 
* 正弦
* 餘弦
* 正切
* 餘切
* 正割
* 餘割

 |  |
|  |
| 反函數 | 
* 反正弦
* 反餘弦
* 反正切
* 反餘切
* 反正割‎
* 反餘割

 |
|  |
| 少見函數 | 
* 正矢
* 餘矢
* 正弧
* 餘弧
* 半正矢
* 半餘矢
* 外正割
* 外餘割

 |
|  |
| 函數分類 | 

|  |  |
| --- | --- |
| 正函數 | 
* 正角
* 正弦
* 正切
* 正割
* 正矢
* 正弧
* 半正矢
* 外正割

 |
|  |
| 餘函數 | 
* 餘角
* 餘弦
* 餘切
* 餘割
* 餘矢
* 餘弧
* 半餘矢
* 外餘割

 |

 |
|  |
| 其他函數 | 
* 極正弦
* 弦函數
* arc函數
* cis函數
* 餘cis函數
* cas函數
* arg函數
* atan2
* 古德曼函數

 |
|  |
| 双曲函数 | 
* 雙曲正弦
* 雙曲餘弦

 |
|  |
| 相關概念 | 
* 割圓八線（粤语：）
* 同界角
* 辐角
* 單位圓
* 圓心角
* 週期性

 |
|  |
| 定理 | 
* 正弦定理
* 餘弦定理
* 正切定理
* 餘切定理
* 半正矢定理
* 勾股定理

 |
|  |
| 恒等式 | 
* 三角函數恆等式
* 雙曲三角函數恆等式
* 正切半角公式
* 三分之一角公式
* 餘函數恆等式
* 诱导公式
* 半正矢公式

 |
|  |
| 其他 | 
* 三角函數精確值
* 三角函数积分表
* 三角函数表
* 三角多項式
* 三角函数线
* 正弦曲線
* 雙曲三角函數

 |

 |