Math.cos e Math.sin

galera
to precisando utilizar seno e cosseno aqui em java
o problema é que utilizando Math.cos(angulo) e Math.sin(angulo) ta retornando resultado errado
pq isso?

Ex:
Math.sin(90) ta retornando 0.89 quando devia retornar 1
e Math.cos(90) ta retornando -0.44 quando deveria estar retornando 0

A informação que deve ser passada para Math.sin e Math.cos é em radianos não em graus…

a formula para converter eh:

[code] rad = ( pi / 180 ) * ang;

System.out.println( Math.sin( Math.PI/180*90) );
[/code]

acho que resolve o seu problema.

Olá

Parece ser problemas normais que acontecem desde quando foi inventado o primeiro computador quando números reais são armazenados em formato binário. Imprima o valores e verá que tem muito mais decimais:

Math.sin(90): 0.8939966636005579
Math.cos(90): -0.4480736161291702

Porém se você quiser calcular o valor em radianos que é o default das funções trigonométricas de Math, precisa fazer assim:

public class Teste {
    public static void main(String args[]) {
        System.out.println("Math.sin(Math.PI/2): " + Math.sin(Math.PI/2));
        System.out.println("Math.cos(Math.PI/2): " + Math.cos(Math.PI/2));
    }
}

E o resultado será o que você espera:

[code]
C:[code]
C:&gt java Teste
Math.sin(Math.PI/2): 1.0
Math.cos(Math.PI/2): 6.123233995736766E-17

C:&gt[/code]gt java Teste
Math.sin(Math.PI/2): 1.0
Math.cos(Math.PI/2): 6.123233995736766E-17

C:[code]
C:&gt java Teste
Math.sin(Math.PI/2): 1.0
Math.cos(Math.PI/2): 6.123233995736766E-17

C:&gt[/code]gt[/code]

Ou usar Math.toRadians() para converter os ângulos dados em graus.

[]s
Luca

opa
deu certinho aqui galera
valeu a ajuda