Math przeliczanie radianów na stopnie

0

Witam

Jestem początkującym programistą i nie mogę znaleźć odpowiedzi na zaistniały problem a mianowicie chodzi o przeliczanie stopni na radiany.

Udało mi się znaleźć na stronie oracla sposób na przeliczanie ale przelicza mi tylko do 90stopni a potem pokazuje już tylko NaN, jak zrobić żeby przeliczało do 360 lub 180 ze stopniami ujemnymi?

oto co wymodziłem

 
\\Dla sin(1)

wynik = 1;
wynikfunkcjistopnie = Math.toDegrees(Math.asin(wynik)) ;
wynikfunkcjiradiany = Math.toRadians(wynikfunkcjistopnie);
System.out.println(wynikfunkcjistopnie + "\n" + wynikfunkcjiradiany)

\\i z tego co wyczytalem wychodzi prawidłowo (przynajmniej jeżeli chodzi o stopnie)
\\ale gdy sin jest powyżej 1 komunikat będzie NaN, wygląda to tak jakby nie dało się wyjść poza 90 stopni, może mi ktoś doradzić \\\\co tu zrobic?
0
rad=st*Math.PI/180;

??

0

wporządku a odwrotnie?

w programie chodzi o to aby wpisując w oknie np sin (1) otrzymać 90 stopni i tak jest póki nie wpisze wartości np sin (1.1) bo wtedy pokazuje się NaN. Myśle ze problem tkwi z tym przeliczaniem i nie moge dojrzeć w czym jest problem :/

0

Piszesz o funkcji sin(), ale w kodzie używasz funkcji asin(). A to coś zupełnie innego. I nic dziwnego, że dostajesz NaN, argument dla funkcji asin() musi być z przedziału [-1,1].

0

Mhm w takim razie jak otrzymać kąt 90stopni wpisując Math.sin(1) ? Bo niestety nie wiem :(

0

masz więc na myśli nie funkcję sinus, lecz arcus sinus

asin przyjmuje tylko argumenty z zakresu [-1,1], jeżeli interesuje Cię wartośc funkcji dla 1.1, to powinieneś poczytać czym jest arcus sinus

0
Melzar napisał(a)

Mhm w takim razie jak otrzymać kąt 90stopni wpisując Math.sin(1) ? Bo niestety nie wiem :(

Nie wpisywać Math.sin tylko Math.asin i później przekształcić na stopnie, tak jak pokazałem wczesniej, tylko, że w drugą stronę

0

No własnie tyle, że jak sam powiedzialeś asin przyjmuje wartości od -1 do 1 więc sinusa 1.1 juz tym nie zrobię a wlasnie tego potrzebuję :(

0

jezeli nadal poszukujesz:

Melzar napisał(a)

Mhm w takim razie jak otrzymać kąt 90stopni wpisując Math.sin(1) ? Bo niestety nie wiem :(

poczytaj o funkcji arcus sinus (matematycznej, a nie programistycznej :) ), to tak jak byś pytał dla jakiego x sin(x)=1.1 -> dla żadnego

0

ok ;) te plecy z matmy będą mnie całe życie męczyć ;) dzięki za pomoc, pozdro :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1