Leer en inglés

Compartir a través de


Math.Atan2(Double, Double) Método

Definición

Devuelve el ángulo cuya tangente es el cociente de dos números especificados.

C#
public static double Atan2(double y, double x);

Parámetros

y
Double

Coordenada Y de un punto.

x
Double

Coordenada X de un punto.

Devoluciones

Ángulo, θ, medido en radianes, de modo que tan(θ) = y / x, donde (x, y) es un punto en el plano cartesiano. Observe lo siguiente:

  • Para (x, y) en el cuadrante 1, 0 < θ < π/2.

  • Para (x, y) en el cuadrante 2, π/2 < θ ≤ π.

  • Para (x, y) en el cuadrante 3, -π ≤ θ < -π/2.

  • Para (x, y) en el cuadrante 4, -π/2 < θ < 0.

Para los puntos en los límites de los cuadrantes, el valor devuelto es el siguiente:

  • Si y es 0 y x no es negativo, θ = 0.

  • Si y es 0 y x es negativo, θ = π.

  • Si y es positivo y x es 0, θ = π/2.

  • Si y es negativo y el valor de x es 0, θ = -π/2.

  • Si y es 0 y x es 0, θ = 0.

Si x o y es NaN o si x y y son PositiveInfinity o NegativeInfinity, el método devuelve NaN.

Ejemplos

En el ejemplo siguiente se muestra cómo calcular la arcotangente de un ángulo y un vector. El valor resultante se muestra en la consola.

C#
// This example demonstrates Math.Atan()
//                           Math.Atan2()
//                           Math.Tan()
using System;

class Sample
{
    public static void Main()
    {
    double x = 1.0;
    double y = 2.0;
    double angle;
    double radians;
    double result;

// Calculate the tangent of 30 degrees.
    angle = 30;
    radians = angle * (Math.PI/180);
    result = Math.Tan(radians);
    Console.WriteLine("The tangent of 30 degrees is {0}.", result);

// Calculate the arctangent of the previous tangent.
    radians = Math.Atan(result);
    angle = radians * (180/Math.PI);
    Console.WriteLine("The previous tangent is equivalent to {0} degrees.", angle);

// Calculate the arctangent of an angle.
    String line1 = "{0}The arctangent of the angle formed by the x-axis and ";
    String line2 = "a vector to point ({0},{1}) is {2}, ";
    String line3 = "which is equivalent to {0} degrees.";

    radians = Math.Atan2(y, x);
    angle = radians * (180/Math.PI);

    Console.WriteLine(line1, Environment.NewLine);
    Console.WriteLine(line2, x, y, radians);
    Console.WriteLine(line3, angle);
    }
}
/*
This example produces the following results:

The tangent of 30 degrees is 0.577350269189626.
The previous tangent is equivalent to 30 degrees.

The arctangent of the angle formed by the x-axis and
a vector to point (1,2) is 1.10714871779409,
which is equivalent to 63.434948822922 degrees.
*/

Comentarios

El valor devuelto es el ángulo del plano cartesiano formado por el eje X y un vector que comienza desde el origen (0,0) y termina en el punto (x,y).

Este método llama al entorno de ejecución de C subyacente y el resultado exacto o el intervalo de entrada válido pueden diferir entre diferentes sistemas operativos o arquitecturas.

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0