Convertir des Radians en Degrés en Java
J'essaie d'obtenir l'angle alpha en degrés de x,y lorsque l'utilisateur crée un objet.
, j'ai écrit le constructeur suivant:
public class Point
{
private double _radius , _alpha;
public Point ( int x , int y )
{
_radius = Math.sqrt ( Math.pow(x,2) + Math.pow (y,2) ) ;
_alpha = ( ( Math.atan (y/x) ) * 180 ) / Math.PI;
}
}
Ai-je raison que _alpha est maintenant un angle en degrés au lieu de radians que j'ai obtenu de la méthode atan ()?
Est-il un moyen simple de le faire ?
Merci !
28
3 answers
Pourquoi ne pas utiliser la méthode intégrée Math.toDegrees()
, elle vient avec Java SE.
92
Author: mP., 2013-05-23 01:50:55
L'idée semble ok, mais je suggère d'utiliser Math.atan2 au lieu de Math.atan
.
5
Author: MAK, 2014-04-14 17:35:47
Cela devrait être de loin le moyen le plus court et le plus simple:
_radius = Math.hypot(x, y);
_alpha = Math.toDegrees(Math.atan2(y, x));
Gardez à l'esprit que lorsqu'il est calculé de cette façon, _alpha
aura des valeurs comprises entre -180 et 180 degrés.
1
Author: Przemek, 2014-07-29 15:00:18