C# | Método Math.Atan2() – Part 1

Math.Atan2() es un método de clase Math incorporado que devuelve el ángulo cuya tangente es el cociente de dos números específicos. Básicamente, devuelve un ángulo θ (medido en radianes) cuyo valor se encuentra entre -π y π. Este es un ángulo en sentido antihorario que se encuentra entre el eje x positivo y el punto (x, y).

Sintaxis:

public static double Atan2(double value1, double value2)

Parámetros:

value1: coordenada y del punto de tipo System.Double .
value2: coordenada x del punto de tipo System.Double .

Tipo de retorno: Devuelve el ángulo Θ de tipo System.Double .

Nota: Un ángulo, θ (medido en radianes), tal que -π ≤ θ ≤ π, y tan(θ) = valor1 / valor2, donde (valor1, valor2) son los puntos en el plano cartesiano. Hay dos condiciones para los valores devueltos:

  • Cuando los puntos se encuentran en el plano cartesiano
  • Cuando los puntos se encuentran en los límites de los cuadrantes.

A continuación se muestran los programas para demostrar el método Math.Atan2() cuando los puntos se encuentran en el plano cartesiano :

  • Programa 1: Si el punto (valor1, valor2) se encuentra en el primer cuadrante, es decir, 0 < θ < π / 2

    // C# program to demonstrate the
    // Math.Atan2() Method when point
    // lies in first quadrant
    using System;
      
    class Geeks {
         
        // Main method
        public static void Main()
        {
            // using Math.Atan2() Method &
            // converting result into degree
            Console.Write(Math.Atan2(10, 10) * (180 / Math.PI));
        }
    }
    Producción:

    45
    
  • Programa 2: Si el punto (valor1, valor2) se encuentra en el segundo cuadrante, es decir, π / 2 < θ ≤ π

    // C# program to demonstrate the
    // Math.Atan2() Method when point
    // lies in second quadrant
    using System;
      
    class Geeks {
         
        // Main method
        public static void Main()
        {
            // using Math.Atan2() Method &
            // converting result into degree
            Console.Write(Math.Atan2(10, -10) * (180 / Math.PI));
        }
    }
    Producción:

    135
    
  • Programa 3: Si el punto (valor1, valor2) se encuentra en el tercer cuadrante, es decir, -π < θ < -π / 2

    // C# program to demonstrate the
    // Math.Atan2() Method when point
    // lies in third quadrant
    using System;
      
    class Geeks {
         
        // Main method
        public static void Main()
        {
            // using Math.Atan2() Method &
            // converting result into degree
            Console.Write(Math.Atan2(-10, -10) * (180 / Math.PI));
        }
    }
    Producción:

    -135
    
  • Programa 4: Si el punto (valor1, valor2) se encuentra en el cuarto cuadrante, es decir, -π / 2 < θ < 0

    // C# program to demonstrate the
    // Math.Atan2() Method when point
    // lies in fourth quadrant
    using System;
      
    class Geeks {
         
        // Main method
        public static void Main()
        {
            // using Math.Atan2() Method &
            // converting result into degree
            Console.Write(Math.Atan2(-10, 10) * (180 / Math.PI));
        }
    }
    Producción:

    -45
    

A continuación se encuentran los programas para demostrar el método Math.Atan2() cuando los puntos se encuentran en los límites de los cuadrantes :

  • Programa 1: si valor1 es 0 y valor2 no es negativo, es decir, θ = 0

    // C# program to demonstrate the
    // Math.Atan2() Method when value1 
    // is 0 and value2 is not negative
    using System;
      
    class Geeks {
         
        // Main method
        public static void Main()
        {
            // using Math.Atan2() Method &
            // converting result into degree
            Console.Write(Math.Atan2(0, 10) * (180 / Math.PI));
        }
    }
    Producción:

    0
    
  • Programa 2: si valor1 es 0 y valor2 es negativo, es decir, θ = π

    // C# program to demonstrate the
    // Math.Atan2() Method when value1 
    // is 0 and value2 is negative
    using System;
      
    class Geeks {
         
        // Main method
        public static void Main()
        {
            // using Math.Atan2() Method &
            // converting result into degree
            Console.Write(Math.Atan2(0, -10) * (180 / Math.PI));
        }
    }
    Producción:

    180
    
  • Programa 3: Si valor1 es positivo y valor2 es 0, es decir, θ = π / 2

    // C# program to demonstrate the
    // Math.Atan2() Method value1 is
    // positive and value2 is 0
    using System;
      
    class Geeks {
         
        // Main method
        public static void Main()
        {
            // using Math.Atan2() Method &
            // converting result into degree
            Console.Write(Math.Atan2(10, 0) * (180 / Math.PI));
        }
    }
    Producción:

    90
    
  • Programa 4: Si valor1 es negativo y valor2 es 0, es decir, θ = -π / 2

    // C# program to demonstrate the
    // Math.Atan2() Method value1 is
    // negative and value2 is 0
    using System;
      
    class Geeks {
         
        // Main method
        public static void Main()
        {
            // using Math.Atan2() Method &
            // converting result into degree
            Console.Write(Math.Atan2(-10, 0) * (180 / Math.PI));
        }
    }
    Producción:

    -90
    
  • Programa 5: Si valor1 es 0 y valor2 es 0, es decir, θ = 0

    // C# program to demonstrate the
    // Math.Atan2() Method value1 is
    // 0 and value2 is 0
    using System;
      
    class Geeks {
         
        // Main method
        public static void Main()
        {
            // using Math.Atan2() Method &
            // converting result into degree
            Console.Write(Math.Atan2(0, 0) * (180 / Math.PI));
        }
    }
    Producción:

    0
    

Punto importante para recordar: si value1 o value2 es NaN , o si value1 y value1 son PositiveInfinity o NegativeInfinity , el método devuelve NaN .

Ejemplo:

// C# program to demonstrate the Math.Atan2() 
// method when arguments are of type either 
// NaN, PositiveInfinity or NegativeInfinity 
using System;
  
class Geeks {
      
    // Main method
    public static void Main()
    {
        double val1 = 0;
        double val2 = Double.NaN;
        Console.WriteLine(Math.Atan2(val1, val2));
          
        double val3 = Double.NaN;
        double val4 = Double.NaN;
        Console.WriteLine(Math.Atan2(val3, val4));
          
        double val5 = Double.NaN;
        double val6 = Double.PositiveInfinity;
        Console.WriteLine(Math.Atan2(val5, val6));
          
        double val7 = Double.PositiveInfinity;
        double val8 = Double.NegativeInfinity;
        Console.WriteLine(Math.Atan2(val7, val8));
          
         
    }
}
Producción:

NaN
NaN
NaN
NaN

Referencia: https://msdn.microsoft.com/en-us/library/system.math.atan2

Publicación traducida automáticamente

Artículo escrito por Mithun Kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *