[Java] Calculer l'angle formé par trois points

	/**
* Retourne la valeur de l'angle formé par les points [a,origine,c]
* Cette methode retourne une valeur entre [0;PI], donc il s'agit toujours
* du plus petit angle formé par ces trois points.
*/
public static double getAngleRad(Point2d a, Point2d origine, Point2d c) {

Vector2d v1 = vector(a, origine);
Vector2d v2 = vector(c, origine);

double cosA = v1.dot(v2) / v1.length() / v2.length();

double aRad = Math.acos(cosA);

return aRad;
}

public static Vector2d vector(Point2d a, Point2d b) {
return new Vector2d(
b.x-a.x,
b.y-a.y
);
}

About the Author

Ted Marklor est un web designer, un web developer et un génie de la nature. Transcendant le web depuis bientôt 15 ans, Ted est une source d’inspiration et de conseil pour toute une génération de jeunes programmeurs. Le Web 2.0, c’est lui. Dans la vie, il aime aussi faire des avions en papier, s’inventer des pseudonymes et une vie de winner, et surtout parler de lui à la troisième personne. Ça se fait en ce moment sur les blogs…


Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.