Calculer un angle entre 3 points en C
Résolu/FerméPierr10 Messages postés 12891 Date d'inscription mardi 13 février 2018 Statut Modérateur Dernière intervention 3 mai 2025 - 4 avril 2023 à 20:09
- Calculer un angle entre 3 points en C
- Comment calculer la moyenne sur excel - Guide
- Ai suite 3 - Télécharger - Optimisation
- Mettre des points sur une carte - Guide
- Picasa 3 - Télécharger - Albums photo
- Points de suite word - Guide
2 réponses
4 avril 2023 à 19:38
Bonjour,
Je ne connais rien à la programmation. Je pense quand même que ça doit être assez élémentaire. C'est le genre de truc qu'on peut programmer sur une simple calculatrice.
Pour moi c'est juste un calcul élémentaire de mathématiques, qu'il faudra traduire en langage de programmation.
Pour calculer l'angle, j'utiliserais le théorème d'Al-Kashi.
On calcule le cosinus de l'angle en fonction des longueurs des côtés du triangle constitué par les 3 points.
cos α = (b² + c² - a²)/2bc
Le calcul des longueurs des côtés en fonction des coordonnées des points est un peu fastidieux, mais sans difficultés.
L'avantage de cette méthode, est que suivant le signe de cos α, on saura si on a un angle aigu ou obtus.
Après il reste à traduire tout ça en C ; c'est ton boulot !
4 avril 2023 à 19:54
Merci beaucoup de m'avoir répondu,
Mais il faut que se soit a partir des coordonnées j'ai rouvert mon cahier de math é j'ai trouver cette solution:
a1 = x1 - x2 ; a2 = y1 - y2 ; b1 = x3 - x2 ; b2 = y3 - y2 ; a = sqrt ( (a1*a1) + (a2*a2) ); b = sqrt ( (b1*b1) + (b2*b2) ); if ( (a == 0.0) || (b == 0.0) ) return (0.0) ; cosinus = (a1*b1+a2*b2) / (a*b) ; t = acos ( cosinus ); t = t * 180.0 / pi ; angle = t
4 avril 2023 à 20:09
Ça marche !
C'est fait avec un produit scalaire. C'est plus simple que ce que j’ai proposé. (Je suis un peu rouillé ! )