Articulo de referencia

atan2

atan2( y , x ) devuelve el ángulo θ entre el eje x positivo y el rayo desde el origen hasta el punto ( x , y ) , confinado a (− π , π ] . Gráfico de atan2 ⁡ ( y , incógnita ) {\...

atan2( y , x ) devuelve el ángulo θ entre el eje x positivo y el rayo desde el origen hasta el punto ( x , y ) , confinado a (− π , π ] .
Gráfico deatan2(y,incógnita){\displaystyle \operatorname {atan2} (y,x)}encimay/incógnita{\displaystyle y/x}

En informática y matemáticas , la función atan2 es la arcotangente de 2 argumentos . Por definición,θ=atan2(y,incógnita){\displaystyle \theta =\operatorname {atan2} (y,x)}es la medida del ángulo (en radianes , conπ<θπ{\displaystyle -\pi <\theta \leq \pi }) entre el positivoincógnita{\displaystyle x}eje y el rayo desde el origen hasta el punto(incógnita,y){\displaystyle (x,\,y)}en el plano cartesiano . Equivalentemente,atan2(y,incógnita){\displaystyle \operatorname {atan2} (y,x)}es el argumento (también llamado fase o ángulo ) del número complejoincógnita+iy.{\displaystyle x+iy.}(No se deben confundir el argumento de una función con el argumento de un número complejo, mencionados anteriormente).

Elatan2{\displaystyle \operatorname {atan2} }La función apareció por primera vez en el lenguaje de programación Fortran en 1961. Originalmente, su propósito era devolver un valor correcto e inequívoco para el ángulo .θ{\displaystyle \theta } al convertir de coordenadas cartesianas(incógnita,y){\displaystyle (x,\,y)}a coordenadas polares(r,θ){\displaystyle (r,\,\theta )} . Siθ=atan2(y,incógnita){\displaystyle \theta =\operatorname {atan2} (y,x)}yr=incógnita2+y2{\textstyle r={\sqrt {x^{2}+y^{2}}}}, entoncesincógnita=rporqueθ{\displaystyle x=r\cos \theta }yy=rpecadoθ.{\displaystyle y=r\sin \theta .}

Siincógnita>0{\displaystyle x>0} , la medida del ángulo deseado esθ=atan2(y,incógnita)=arctan(y/incógnita).{\textstyle \theta =\operatorname {atan2} (y,x)=\arctan \left(y/x\right).}Sin embargo, cuando x < 0 , el ánguloarctan(y/incógnita){\displaystyle \arctan(y/x)}es diametralmente opuesto al ángulo deseado, y±π{\displaystyle \pm \pi } (media vuelta ) debe agregarse para colocar el punto en el cuadrante correcto . [ 1 ] Usando elatan2{\displaystyle \operatorname {atan2} }Esta función elimina dicha corrección, simplificando el código y las fórmulas matemáticas.

Motivación

En las aplicaciones prácticas de la geometría es común convertir entre coordenadas rectangulares .(incógnita,y){\displaystyle (x,y)}y coordenadas polares(r,θ){\displaystyle (r,\theta )}Para representar puntos en el plano euclidiano , por ejemplo , para hallar el ángulo con signo que representa la orientación de un vector o para calcular el argumento de un número complejo . Las relaciones entre coordenadas rectangulares y polares se pueden resumir mediante las siguientes ecuaciones: incógnita=rporqueθ,r=incógnita2+y2,y=rpecadoθ,broncearseθ=yincógnita,{\displaystyle {\begin{aligned}x&=r\cos \theta ,&\qquad r&={\textstyle {\sqrt {x^{2}+y^{2}}}},\\[2pt]y&=r\sin \theta ,&\tan \theta &={\frac {y}{x}},\end{aligned}}} dondepecado{\displaystyle \sin },porque{\displaystyle \cos }ybroncearse{\displaystyle \tan }son funciones trigonométricas y​incógnita2+y2{\displaystyle \textstyle {\sqrt {x^{2}+y^{2}}}} es la suma pitagórica deincógnita{\displaystyle x}yy{\displaystyle y} , es decir, la hipotenusa de un triángulo rectángulo con catetosincógnita{\displaystyle x}yy{\displaystyle y}.

Gráfica de la función tangente de π a + π con los signos correspondientes de y / x . Las flechas verdes señalan los resultados de atan2(−1,  −1) y atan2(1,  1) .

Informáticaincógnita{\displaystyle x}yy{\displaystyle y}der{\displaystyle r}yθ{\displaystyle \theta } directamente a partir de estas fórmulas es sencillo. En la otra dirección, sin embargo, es útil proporcionar funciones especiales para implementar las conversiones. La fórmula para calcularr{\displaystyle r}deincógnita{\displaystyle x}yy{\displaystyle y} puede provocar desbordamientos y subdesbordamientos numéricos, evitados por lahypotfunción de muchas bibliotecas estándar. El cálculo deθ{\displaystyle \theta }deincógnita{\displaystyle x}yy{\displaystyle y} es más complicado, por dos razones: (1) porque podría implicar una división por cero y (2) porque el cocientey/incógnita{\displaystyle y/x}es igual a(y)/(incógnita){\displaystyle (-y)/(-x)} , y por lo tanto no distingue entre punto(incógnita,y){\displaystyle (x,y)}y el punto opuesto(incógnita,y){\displaystyle (-x,-y)} . La función arcotangente ordinaria de un solo argumentosolo devuelve medidas de ángulo en el intervalo(12π,12π){\displaystyle \left({-{\tfrac {1}{2}}\pi },{\tfrac {1}{2}}\pi \right)} , por lo que una implementación ingenua de una conversión de coordenadas rectangulares a polares,θ=arctan(y/incógnita){\displaystyle \theta =\arctan(y/x)} , dará resultados incorrectos siempre queincógnita0{\displaystyle x\leq 0}.

Para determinar completamente el ángulo de dirección desde el origen dado un punto(incógnita,y){\displaystyle (x,\,y)} utilizando la función arcotangente, las fórmulas matemáticas o el código informático deben manejar múltiples casos; al menos uno para valores positivos deincógnita{\displaystyle x}y uno para valores negativos de incógnita{\displaystyle x}, y a veces casos adicionales cuandoy{\displaystyle y}es negativo o una coordenada es cero.

Para ahorrarles el trabajo a los programadores, los lenguajes de programación de computadoras introdujeron la función atan2 , al menos ya en el lenguaje Fortran IV de la década de 1960. [ 2 ] La cantidad atan2(y,incógnita){\displaystyle \operatorname {atan2} (y,x)} es la medida del ángulo entre losincógnita{\displaystyle x} eje y un rayo desde el origen hasta un punto(incógnita,y){\displaystyle (x,\,y)}en cualquier lugar del plano cartesiano. Los signos deincógnita{\displaystyle x}yy{\displaystyle y}Se utilizan para determinar el cuadrante del resultado y seleccionar la rama correcta de la función multivaluada .Arcotangente(y/incógnita){\displaystyle \operatorname {Arctan} (y/x)}.

La función atan2 es útil en muchas aplicaciones que involucran vectores euclidianos , como encontrar la dirección de un punto a otro o convertir una matriz de rotación en ángulos de Euler .

La función atan2 ahora está incluida en muchos otros lenguajes de programación, y también se encuentra comúnmente en fórmulas matemáticas en toda la ciencia y la ingeniería.

Orden de los argumentos

En 1961, Fortran introdujo la función atan2 con orden de argumentos (y,incógnita){\displaystyle (y,x)} de modo que el argumento (ángulo de fase) de un número complejo seaargz=atan2(Soyz,Rez).{\displaystyle \operatorname {arg} z=\operatorname {atan2} (\operatorname {Im} z,\operatorname {Re} z).}Esto sigue el orden de izquierda a derecha de una fracción escrita.y/incógnita,{\displaystyle y/x,}de modo queatan2(y,incógnita)=atan(y/incógnita){\displaystyle \operatorname {atan2} (y,x)=\operatorname {atan} (y/x)}para valores positivos deincógnita.{\displaystyle x.}Sin embargo, esto es lo opuesto al orden de componentes convencional para los números complejos,z=incógnita+iy,{\displaystyle z=x+iy,}o como coordenadas(Rez,Soyz).{\displaystyle (\operatorname {Re} z,\operatorname {Im} z).}Consulte la sección Definición y cálculo .

Algunos otros lenguajes de programación (véase § Implementaciones de la función en lenguajes informáticos comunes ) eligieron el orden opuesto. Por ejemplo, Microsoft Excel utilizaAtan2(incógnita,y),{\displaystyle \operatorname {Atan2} (x,\,y),}OpenOffice Calc utilizaarctan2(incógnita,y),{\displaystyle \operatorname {arctan2} (x,\,y),}y Mathematica utilizaArco-Tan[incógnita,y],{\displaystyle \operatorname {ArcTan} [x,y],}Se utilizará por defecto la función arcotangente de un argumento si se llama con un argumento.

Definición y cálculo

La función atan2 calcula el argumento principal del número complejo .incógnita+iy{\displaystyle x+iy} , que también es la parte imaginaria del valor principal del logaritmo complejo . Es decir, atan2(y,incógnita)=arg(incógnita+iy)=Soyregistro(incógnita+iy).{\displaystyle {\begin{aligned}\operatorname {atan2} (y,x)&=\operatorname {arg} (x+iy)\\&=\operatorname {Im} \operatorname {log} (x+iy).\end{aligned}}}

Sumar cualquier múltiplo entero de 2π{\displaystyle 2\pi } (correspondiente a vueltas completas alrededor del origen) da otro argumento del mismo número complejo, pero el argumento principal se define como el ángulo representativo único en el intervalo (π,π]{\displaystyle (-\pi ,\pi ]}.

En términos de la función arcotangente estándar, cuya imagen es(12π,12π){\displaystyle \left({-{\tfrac {1}{2}}\pi },{\tfrac {1}{2}}\pi \right)} , atan2 se puede expresar por partes : atan2(y,incógnita)={arctan(yincógnita)si incógnita>0,arctan(yincógnita)+πsi incógnita<0 y y0,arctan(yincógnita)πsi incógnita<0 y y<0,+π2si incógnita=0 y y>0,π2si incógnita=0 y y<0,indefinidosi incógnita=0 y y=0.{\displaystyle \operatorname {atan2} (y,x)={\begin{cases}\arctan \left({\frac {y}{x}}\right)&{\text{si }}x>0,\\[5mu]\arctan \left({\frac {y}{x}}\right)+\pi &{\text{si }}x<0{\text{ y }}y\geq 0,\\[5mu]\arctan \left({\frac {y}{x}}\right)-\pi &{\text{si }}x<0{\text{ y }}y<0,\\[5mu]+{\frac {\pi }{2}}&{\text{si }}x=0{\text{ y }}y>0,\\[5mu]-{\frac {\pi }{2}}&{\text{si }}x=0{\text{ y }}y<0,\\[5mu]{\text{indefinido}}&{\text{si }}x=0{\text{ y }}y=0.\end{cases}}}

La tangente de medio ángulo se puede calcular en términos de las coordenadas x e y y el radio r .

En los casos en que la función atan2 no esté disponible o sea inconveniente usarla, y donde sea importante reducir la cantidad de casos que deben considerarse (por ejemplo, para cálculos vectorizados en una GPU), puede ser útil calcular atan2 a través de una fórmula de tangente de medio ángulo : [ 3 ]

atan2(y,incógnita)=2arctan(yincógnita2+y2+incógnita),{\displaystyle \operatorname {atan2} (y,x)=2\arctan \left({\frac {y}{\textstyle {\sqrt {x^{2}+y^{2}}}+x}}\right),} excepto en el caso de queincógnita<0{\displaystyle x<0}yy=0{\displaystyle y=0} , cuando por convención atan2 es igual aπ{\displaystyle \pi }.

Derivado

Como la función atan2 es una función de dos variables, tiene dos derivadas parciales . En los puntos donde existen estas derivadas, atan2 es, salvo una constante, igual a arctan( y / x ) . Por lo tanto, incógnitaatan2(y,incógnita)=incógnitaarctan(yincógnita)=yincógnita2+y2,yatan2(y,incógnita)=yarctan(yincógnita)=incógnitaincógnita2+y2.{\displaystyle {\begin{aligned}&{\frac {\partial }{\partial x}}\operatorname {atan2} (y,\,x)={\frac {\partial }{\partial x}}\arctan \left({\frac {y}{x}}\right)=-{\frac {y}{x^{2}+y^{2}}},\\[5pt]&{\frac {\partial }{\partial y}}\operatorname {atan2} (y,\,x)={\frac {\partial }{\partial y}}\arctan \left({\frac {y}{x}}\right)={\frac {x}{x^{2}+y^{2}}}.\end{aligned}}} Estas dos derivadas parciales son las coordenadas del gradiente .

Representando informalmente la función atan2 como la función de ángulo θ ( x , y ) = atan2( y , x ) (que solo está definida salvo una constante) se obtiene la siguiente fórmula para el diferencial total : dθ=incógnitaatan2(y,incógnita)dincógnita+yatan2(y,incógnita)dy=yincógnita2+y2dincógnita+incógnitaincógnita2+y2dy.{\displaystyle {\begin{aligned}\mathrm {d} \theta &={\frac {\partial }{\partial x}}\operatorname {atan2} (y,\,x)\,\mathrm {d} x+{\frac {\partial }{\partial y}}\operatorname {atan2} (y,\,x)\,\mathrm {d} y\\[5pt]&=-{\frac {y}{x^{2}+y^{2}}}\,\mathrm {d} x+{\frac {x}{x^{2}+y^{2}}}\,\mathrm {d} y.\end{aligned}}}

Si bien la función atan2 es discontinua a lo largo del eje x negativo , lo que refleja que el ángulo no puede definirse de forma continua, esta derivada está definida de forma continua excepto en el origen, lo que refleja que los cambios infinitesimales (e incluso locales) en el ángulo pueden definirse en cualquier lugar excepto en el origen. Integrar esta derivada a lo largo de una trayectoria da el cambio total en el ángulo a lo largo de la trayectoria, e integrar sobre un bucle cerrado da el número de vueltas .

En el lenguaje de la geometría diferencial , esta derivada es una 1-forma , cerrada ( su derivada es cero) pero no exacta (no es la derivada de una 0-forma, es decir, una función), y de hecho genera la primera cohomología de De Rham del plano perforado . Este es el ejemplo más básico de dicha forma, y ​​es fundamental en geometría diferencial.

Las derivadas parciales de atan2 no contienen funciones trigonométricas , lo que la hace particularmente útil en muchas aplicaciones (por ejemplo, sistemas embebidos) donde la evaluación de funciones trigonométricas puede resultar costosa.

Ilustraciones

atan2 para rayos seleccionados

Esta figura muestra los valores de atan2 a lo largo de rayos seleccionados desde el origen, etiquetados en el círculo unitario . Los valores, en radianes, se muestran dentro del círculo. El diagrama utiliza la convención matemática estándar de que los ángulos aumentan en sentido antihorario desde cero a lo largo del rayo hacia la derecha. Nótese que el orden de los argumentos está invertido; la función atan2( y , x ) calcula el ángulo correspondiente al punto ( x , y ) .

Comparación de las funciones arctan y atan2

Esta figura muestra los valores dearctan(broncearse(θ)){\displaystyle \arctan(\tan(\theta ))}junto conatan2(pecado(θ),porque(θ)){\displaystyle \operatorname {atan2} (\sin(\theta ),\cos(\theta ))}para0θ2π{\displaystyle 0\leq \theta \leq 2\pi }Ambas funciones son impares y periódicas con periodosπ{\displaystyle \pi }y2π{\displaystyle 2\pi }, respectivamente, y por lo tanto se puede complementar fácilmente a cualquier región de valores reales deθ{\displaystyle \theta }Se pueden ver claramente los cortes de las ramas.atan2{\displaystyle \operatorname {atan2} }-función enθ=π{\displaystyle \theta =\pi }y de laarctan{\displaystyle \arctan }-función enθ{π2,3π2}{\displaystyle \theta \in {\bigl \{}{\tfrac {\pi }{2}},\;{\tfrac {3\pi }{2}}{\bigr \}}}. [ 4 ]

Las dos figuras siguientes muestran vistas 3D de atan2( y, x) y arctan(y/x) sobre una región del plano , respectivamente . Nótese que , para atan2 ( y , x ) , los rayos en el plano x / y que parten del origen tienen valores constantes, mientras que para arctan( y / x ) , las líneas en el plano x / y que pasan por el origen también tienen valores constantes. Para x > 0 , ambos diagramas arrojan valores idénticos.

identidad de suma y diferencia de ángulos

La suma o diferencia de múltiples ángulos que se calculará mediante atan2{\displaystyle \operatorname {atan2} } También se pueden calcular componiéndolos como números complejos . Dados dos pares de coordenadas(incógnita1,y1){\displaystyle (x_{1},y_{1})}y(incógnita2,y2){\displaystyle (x_{2},y_{2})} , sus ángulos desde el positivoincógnita{\displaystyle x}Los ejes se compondrán (y sus longitudes se multiplicarán) si se tratan como números complejos y luego se multiplican entre sí .(incógnita1+iy1)(incógnita2+iy2)={\displaystyle (x_{1}+iy_{1})(x_{2}+iy_{2})={}}(incógnita1incógnita2y1y2)+i(y1incógnita2+incógnita1y2){\displaystyle (x_{1}x_{2}-y_{1}y_{2})+i(y_{1}x_{2}+x_{1}y_{2})} . El ángulo resultante se puede encontrar utilizando un soloatan2{\displaystyle \operatorname {atan2} }operación , siempre que el ángulo resultante se encuentre en(π,π]{\displaystyle (-\pi ,\pi ]}:atan2(y1,incógnita1)±atan2(y2,incógnita2)=atan2(y1incógnita2±incógnita1y2,incógnita1incógnita2y1y2),{\displaystyle \operatorname {atan2} (y_{1},x_{1})\pm \operatorname {atan2} (y_{2},x_{2})=\operatorname {atan2} (y_{1}x_{2}\pm x_{1}y_{2},x_{1}x_{2}\mp y_{1}y_{2}),} y de igual manera para más de dos pares de coordenadas. Si el ángulo compuesto cruza el negativo incógnita{\displaystyle x}-eje (es decir, excede el rango )(π,π]{\displaystyle (-\pi ,\pi ]} ), entonces se pueden contar los cruces y el múltiplo entero apropiado de2π{\displaystyle 2\pi }Se añadió al resultado final para corregirlo.

Esta fórmula de diferencia se usa frecuentemente en la práctica para calcular el ángulo entre dos vectores planos , ya que el ángulo resultante siempre está en el rango (π,π]{\displaystyle (-\pi ,\pi ]}.

Convenciones de sentido antihorario hacia el este, sentido horario hacia el norte y sentido horario hacia el sur, etc.

Elatan2{\displaystyle \operatorname {atan2} }La función fue diseñada originalmente para la convención en matemáticas puras que se puede denominar este en sentido antihorario . Sin embargo, en aplicaciones prácticas, las convenciones norte en sentido horario y sur en sentido horario suelen ser la norma. En ciencias atmosféricas, por ejemplo, la dirección del viento se puede calcular utilizando laatan2{\displaystyle \operatorname {atan2} }función con las componentes este y norte del vector de viento como argumentos; [ 5 ] el ángulo de acimut solar se puede calcular de manera similar con las componentes este y norte del vector solar como argumentos. La dirección del viento se define normalmente en sentido horario norte, y el ángulo de acimut solar utiliza ampliamente las convenciones de sentido horario norte y sur. [ 6 ] Estas diferentes convenciones se pueden realizar intercambiando las posiciones y cambiando los signos de los argumentos x e y de la siguiente manera:

  • atan2(y,incógnita),{\displaystyle \operatorname {atan2} (y,\,x),\;\;\;\;\;}(Convención de sentido antihorario hacia el este)
  • atan2(incógnita,y),{\displaystyle \operatorname {atan2} (x,\,y),\;\;\;\;\;}(Convención en sentido horario hacia el norte)
  • atan2(incógnita,y){\displaystyle \operatorname {atan2} ({-x},\,{-y})}(Convención en sentido horario hacia el sur)

Como ejemplo, dejemosincógnita0=32{\textstyle x_{0}={\frac {\sqrt {3}}{2}}}yy0=12{\textstyle y_{0}={\frac {1}{2}}}, entonces el formato en sentido contrario a las agujas del reloj hacia el este daatan2(y0,incógnita0)180π=30{\textstyle \operatorname {atan2} (y_{0},x_{0})\cdot {\frac {180^{\circ }}{\pi }}=30^{\circ }}, el formato en sentido horario norte daatan2(incógnita0,y0)180π=60{\textstyle \operatorname {atan2} (x_{0},y_{0})\cdot {\frac {180^{\circ }}{\pi }}=60^{\circ }}y el formato en sentido horario sur daatan2(incógnita0,y0)180π=120{\textstyle \operatorname {atan2} (-x_{0},-y_{0})\cdot {\frac {180^{\circ }}{\pi }}=-120^{\circ }}.

Cambiar el signo de los argumentos x y/o y y /o intercambiar sus posiciones puede crear 8 posibles variaciones de laatan2{\displaystyle \operatorname {atan2} }función y, curiosamente, corresponden a 8 posibles definiciones del ángulo, a saber, en sentido horario o antihorario partiendo de cada una de las 4 direcciones cardinales , norte, este, sur y oeste.

Implementaciones de la función en lenguajes de programación comunes

La implementación de esta función difiere de un lenguaje de programación a otro.

El(Re,Soy){\displaystyle (\operatorname {Re} ,\operatorname {Im} )}La convención (invertida con respecto a la convención utilizada en la discusión anterior) es utilizada por:

  • En Microsoft Excel , [ 7 ] OpenOffice.org Calc , LibreOffice Calc , [ 8 ] Google Spreadsheets , [ 9 ] e iWork Numbers , [ 10 ] la función arcotangente de 2 argumentos tiene los dos argumentos en la secuencia estándar.(Re,Soy){\displaystyle (\operatorname {Re} ,\operatorname {Im} )}.
  • En Mathematica , se utiliza la forma donde la forma de un parámetro proporciona la arcotangente normal. Mathematica la clasifica como una expresión indeterminada.ArcTan[x,y]ArcTan[0,0]
  • En la mayoría de las calculadoras gráficas TI (excluyendo la TI-85 y la TI-86 ), la función equivalente se llama R►Pθ y tiene los argumentos(Re,Soy){\displaystyle (\operatorname {Re} ,\operatorname {Im} )}.
  • En la TI-85 se llama a la función argangle(x,y) y aunque parece tomar dos argumentos, en realidad solo tiene un argumento complejo que se denota por un par de números: x + iy = ( x , y ) .

El(Soy,Re){\displaystyle (\operatorname {Im} ,\operatorname {Re} )}Esta convención es utilizada por:

  • La función C atan2, y la mayoría de las demás implementaciones informáticas, están diseñadas para reducir el esfuerzo de transformar coordenadas cartesianas a polares y, por lo tanto, siempre definen atan2(0, 0). En implementaciones sin cero con signo , o cuando se le dan argumentos cero positivos, normalmente se define como 0. Siempre devolverá un valor en el rango [π , π ] en lugar de generar un error o devolver un NaN (Not a Number).
  • En Common Lisp , donde existen argumentos opcionales, la atanfunción permite proporcionar opcionalmente la coordenada x : . [ 11 ](atan y x)
  • En Julia , la situación es similar a la de Common Lisp: en lugar de atan2, el lenguaje tiene una forma de un parámetro y otra de dos parámetros para atan. [ 12 ] Sin embargo, tiene muchos más de dos métodos, para permitir una optimización agresiva en tiempo de compilación . [ 13 ]
  • Mathcad utiliza el orden de argumentos atan2(x, y). atan2(0, 0)no está definido. [ 14 ]
  • Para sistemas que implementan cero con signo , infinitos o Not a Number (por ejemplo, punto flotante IEEE ), es común implementar extensiones razonables que pueden ampliar el rango de valores producidos para incluir −π y −0 cuando y = −0 . Estas también pueden devolver NaN o generar una excepción cuando se les proporciona un argumento NaN.
  • En el código ensamblador de la arquitectura Intel x86 , se conoce como la instrucción (arcotangente parcial de punto flotante). [ 15 ] Puede manejar infinitos y los resultados se encuentran en el intervalo cerrado [π , π ] , por ejemplo = + π /2 para x finito . En particular, se define cuando ambos argumentos son cero:atan2FPATANatan2(∞, x)FPATAN
    • atan2(+0, +0)= +0;
    • atan2(+0, −0)= + π ;
    • atan2(−0, +0)= −0;
    • atan2(−0, −0)= π .
    Esta definición está relacionada con el concepto de cero con signo .
  • En escritos matemáticos distintos del código fuente , como en libros y artículos, se han utilizado las notaciones Arctan [ 16 ] y Tan −1 [ 17 ] ; estas son variantes en mayúscula de arctan y tan −1 regulares . Este uso es consistente con la notación de argumento complejo , de modo que Atan( y , x ) = Arg( x + iy ) .
  • En las calculadoras HP , trate las coordenadas como un número complejo y luego tome el ARG. O << C->R ARG >> 'ATAN2' STO.
  • En las calculadoras científicas, la función a menudo se puede calcular como el ángulo dado cuando ( x , y ) se convierte de coordenadas rectangulares a coordenadas polares .
  • Los sistemas que admiten matemáticas simbólicas normalmente devuelven un valor indefinido para atan2(0, 0) o señalan de otro modo que ha surgido una condición anormal.
  • La biblioteca matemática gratuita FDLIBM (Freely Distributable LIBM), disponible en netlib, tiene código fuente que muestra cómo implementa atan2, incluyendo el manejo de los diversos valores excepcionales de IEEE.
  • Para sistemas sin multiplicador de hardware, la función atan2 se puede implementar de manera numéricamente confiable mediante el método CORDIC . Por lo tanto, las implementaciones de atan( y ) probablemente optarán por calcular atan2( y , 1) .

Véase también

Referencias

  1. "El argumento de un número complejo" (PDF) . Instituto de Física de Partículas de Santa Cruz. Invierno de 2011.
  2. Organick, Elliott I. (1966). A FORTRAN IV Primer . Addison-Wesley. p. 42. Algunos procesadores también ofrecen la función de biblioteca llamada ATAN2, una función de dos argumentos (opuesto y adyacente). 
  3. Kusaka, Takashi; Tanaka, Takayuki (2022). "Métodos de aproximación rápidos y precisos para cálculos trigonométricos y de arcotangente para computadoras de bajo rendimiento". Electronics . 11 (15) 2285.
  4. "Wolf Jung: Mandel, software para dinámicas complejas" . www.mndynamics.com . Consultado el 20 de abril de 2018 .
  5. "Guía rápida de la dirección del viento" . Laboratorio de Observación de la Tierra NCAR UCAR.
  6. Zhang, Taiping; Stackhouse, Paul W.; MacPherson, Bradley; Mikovitz, J. Colleen (2021). "Una fórmula de acimut solar que hace innecesario el tratamiento circunstancial sin comprometer el rigor matemático: Configuración matemática, aplicación y extensión de una fórmula basada en el punto subsolar y la función atan2" . Energía renovable . 172 : 1333–1340 . Bibcode : 2021REne..172.1333Z . doi : 10.1016/j.renene.2021.03.047 . S2CID 233631040 . 
  7. "Método Atan2 de Microsoft Excel" . Microsoft. 14 de junio de 2014.
  8. "LibreOffice Calc ATAN2" . Libreoffice.org.
  9. "Funciones y fórmulas – Ayuda para editores de documentos" . support.google.com .
  10. "Lista de funciones trigonométricas de Numbers" . Apple.
  11. "CLHS: Función ASIN, ACOS, ATAN" . LispWorks.
  12. "Matemáticas · El lenguaje Julia" . docs.julialang.org .
  13. "Preguntas frecuentes · El lenguaje Julia" . docs.julialang.org .
  14. "Ayuda de Mathcad - Ángulos polares" . PTC.
  15. Manual del desarrollador de software de la arquitectura Intel IA-32. Volumen 2A: Referencia del conjunto de instrucciones, AM, 2004.
  16. Burger, Wilhelm; Burge, Mark J. (7 de julio de 2010). Principios del procesamiento digital de imágenes: técnicas fundamentales . Springer Science & Business Media. ISBN 978-1-84800-191-6Consultado el 20 de abril de 2018 a través de Google Libros.
  17. Glisson, Tildon H. (18 de febrero de 2011). Introducción al análisis y diseño de circuitos . Springer Science & Business Media. ISBN 9789048194438Consultado el 20 de abril de 2018 a través de Google Libros.
  • Calculadora en línea ATAN2
  • Java 1.6 SE JavaDoc
  • atan2 en Todo2
  • Solución PicBasic Pro atan2 para un PIC18F

Otras implementaciones/código para atan2

  • "Coordenadas entre dos puntos" . Archivado del original el 18 de noviembre de 2020. Consultado el 21 de febrero de 2022 .
  • "Coordenadas arcaicas y polares" . Archivado del original el 18 de octubre de 2018. Consultado el 21 de febrero de 2022 .
  • "¿Qué es 'Arccos'?" . Archivado del original el 6 de septiembre de 2017. Consultado el 21 de febrero de 2022 .

Notas