CodeGym /Blog Java /Random-ES /Método Math.cos() en Java
Autor
Volodymyr Portianko
Java Engineer at Playtika

Método Math.cos() en Java

Publicado en el grupo Random-ES
La clase de matemáticas en Java contiene muchas funciones matemáticas. Las funciones trigonométricas se encuentran entre las funciones más importantes para la programación. Una de estas funciones es Math.cos() .

¿Trigonometría para programar?

Por supuesto, hay programadores que casi nunca se encuentran con funciones trigonométricas en su trabajo, pero sin embargo, para muchas tareas, estas funciones son extremadamente importantes. Por ejemplo, para gráficos por computadora o lógica de juegos. En particular, los senos y los cosenos están involucrados en la llamada matriz de rotación que puedes usar para rotar objetos y mundos. Y si necesita calcular la longitud de la ruta a lo largo del mapa, las funciones trigonométricas pueden ser útiles.

Método Math.cos() en Java

El método double cos (doble x) de la clase Math devuelve el valor del coseno de x , donde x es un argumento, un ángulo en radianes . Aquí hay una declaración del método Java.lang.Math.cos() :

double cos(double x)
Si no se siente cómodo calculando ángulos en radianes, puede usar la función especial para convertir radianes a grados:

double toDegrees(double angRad)
También hay una función inversa que convierte grados a radianes, que también puede ser útil.

double toRadians(double angDeg)
Aquí hay un ejemplo de código de java.lang.Math.cos() :

public class CosExample {
   public static void main(String[] args) {
       
       int x1 = 1;
       double x2 = 0.5;
       double x3 = Math.PI;

       //using java.lang.Math.cos() for 1, 0.5 and PI rad 

       System.out.println("cosine of " + x1 + " rads = " + Math.cos(x1));
       System.out.println("cosine of  " + x2 + " rads = " + Math.cos(0));
       System.out.println("cosine  " + x3 + " rads = " + Math.exp(x3));


       //here we declare an 60 degrees angle

       double degree = 60;
       //here we use Math.toRadians to convert 60 degrees to radians, use the cos() method
       //to calculate the cosine of 60 degrees angle and print the result out
       System.out.println("cosine of " + degree + " degrees = " + Math.cos(Math.toRadians(degree)));

   }
}
La salida es:
coseno de 1 rads = 0,5403023058681398 coseno de 0,5 rads = 1,0 coseno de 3,141592653589793 rads = 23,140692632779267 coseno de 60,0 grados = 0,5000000000000001

Algunos casos especiales

En matemáticas hay conceptos de forma indeterminada, infinito positivo y negativo. Un número dividido por 0.0 da infinito, positivo o negativo dependiendo de la positividad o negatividad de ese número. Puede obtener la forma indeterminada de diferentes maneras. Por ejemplo, si intenta dividir cero por cero o infinito a infinito. En Java hay constantes especiales de la clase Double como Double.NaN (no es un número, se puede decir que es una especie de forma indeterminada), Double.POSITIVE_INFINITY y Double.NEGATIVE_INFINITY. El método Math.cos() se comporta de manera específica frente a estos tres conceptos. Si el argumento es NaN o un infinito, Math.cos() es NaN. Tengamos un ejemplo de código:

public class CosSpecialCases {

       public static void main(String[] args) {

           double positiveInfinity = Double.POSITIVE_INFINITY;
           double negativeInfinity = Double.NEGATIVE_INFINITY;
           double nan = Double.NaN;

           //The argument is positive infinity, the output is NaN
           System.out.println(Math.cos(positiveInfinity));

           //The argument is negative infinity, the output NaN
           System.out.println(Math.cos(negativeInfinity));

           //The argument is NaN, the output is NaN
           System.out.println(Math.cos(nan));
       }
   }
La salida es:
NaN NaN NaN

Una tarea de seno y coseno para principiantes

Intente programar el movimiento de las manecillas del reloj usando Math.cos() y Math.sin() . También puede adjuntar gráficos (usando Processing, JavaFX o algo más) a esta tarea y obtendrá un reloj animado.

Más lectura:

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION