J'essaie d'obtenir l'angle alpha en degrés à partir 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 de dire que _alpha est maintenant un angle en degrés au lieu des radians que j'ai obtenu avec la méthode atan ()?
Existe-t-il un moyen simple de le faire?
Merci !
Pourquoi ne pas utiliser la méthode intégrée Math.toDegrees()
, elle est livrée avec le Java SE.
L'idée semble correcte, mais je suggère d'utiliser Math.atan2 au lieu de Math.atan
.
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.