CodeGym /Blog Java /Aleatoriu /Metoda Math.cos() în Java
John Squirrels
Nivel
San Francisco

Metoda Math.cos() în Java

Publicat în grup
Clasa de matematică în Java conține o mulțime de funcții matematice. Funcțiile trigonometrice sunt printre cele mai importante funcții pentru programare. Una dintre aceste funcții este Math.cos() .

Trigonometrie pentru programare?

Desigur, există programatori care aproape niciodată nu dau peste funcții trigonometrice în munca lor, dar cu toate acestea, pentru multe sarcini, aceste funcții sunt extrem de importante. De exemplu, pentru grafica pe computer sau logica jocului. În special, sinusurile și cosinusurile sunt implicate în așa-numita matrice de rotație pe care o puteți utiliza pentru a roti obiecte și lumi. Și dacă trebuie să calculați lungimea traseului de-a lungul hărții, funcțiile trigonometrice pot fi utile.

Metoda Math.cos() în Java

Metoda dublu cos (dublu x) a clasei Math returnează valoarea cosinusului x , unde x este un argument, un unghi în radiani . Iată o declarație a metodei Java.lang.Math.cos() :

double cos(double x)
Dacă nu vă simțiți confortabil să calculați unghiuri în radiani, puteți utiliza funcția specială pentru a converti radianii în grade:

double toDegrees(double angRad)
Există, de asemenea, o funcție inversă care convertește grade în radiani, care poate fi de asemenea utilă.

double toRadians(double angDeg)
Iată un exemplu de cod pentru 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)));

   }
}
Ieșirea este:
cosinus de 1 rads = 0,5403023058681398 cosinus de 0,5 rads = 1,0 cosinus 3,141592653589793 rads = 23,140692632779267 cosinus de 60,0 grade = 0000000000.

Câteva cazuri speciale

În matematică există concepte de formă nedeterminată, infinit pozitiv și negativ. Un număr împărțit la 0,0 dă infinit, pozitiv sau negativ, în funcție de pozitivitatea sau negativitatea acelui număr. Puteți obține o formă nedeterminată în diferite moduri. De exemplu, dacă încercați să împărțiți zero la zero sau infinit la infinit. În Java există constante speciale din clasa Double , cum ar fi Double.NaN (nu un număr, puteți spune că este un fel de formă nedeterminată), Double.POSITIVE_INFINITY și Double.NEGATIVE_INFINITY. Metoda Math.cos() se comportă într-un mod specific atunci când se confruntă cu aceste trei concepte. Dacă argumentul este NaN sau un infinit, atunci Math.cos() este NaN. Să avem un exemplu de cod:

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));
       }
   }
Ieșirea este:
NaN NaN NaN

O sarcină sinus și cosinus pentru începători

Încercați să programați mișcarea acelor ceasului folosind Math.cos() și Math.sin() . De asemenea, puteți atașa elemente grafice (folosind Processing, JavaFX sau altceva) la această sarcină și veți obține un ceas animat.

Mai multe lecturi:

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