Come da titolo: ho le cordiante (x,y) dei tre vertici di un triangolo, dovrei trovare i tre angoli.
Come da titolo: ho le cordiante (x,y) dei tre vertici di un triangolo, dovrei trovare i tre angoli.
O almeno mi servirebbe trovare l'angolo minimo.
mi sa più di problema di matematica che di programmazione, se lo sai risolvere matematicamente, passare all'implementazione è una cavolata.
Per quel pò che mi ricordo ancora potresti trovare i tre lati con la formula della distanza tra due punti, col teorema di pitagora trovare l'altezza e dividerla per uno dei lati obliqui. Facendo l'arcoseno di quello che ti viene ottieni l'angolo opposto all'altezza e adiacente al lato obliquo che hai scelto. Poi fai lo stesso per l'altro lato obliquo e per differenza trovi il terzo angolo.
![]()
Grazie mille per l'idea.
Speravo ci fosse anche qualche metodo già scritto nelle api di java ed è per questo che ho postato qui.
Grazie ancora per l'aiuto.. ora implemento.
Ma per trovare l'altezza con pitagora come faresti?
Altolà:
L'angolo minimo è quello opposto al lato minimo.
Non impelagarti con le altezze relative e pitagora dove non serve più che tanto:
Dati 3 punti,
Dove | | è il Determinante della matrice 2 x 2 della differenza delle coordinatecodice:1 |Xa-Xb Ya-Yb| --- x | | = Area 2 |Xa-Xc Ya-Yc|
Poi applichi:
Ossia il seno dell'angolo compreso ècodice:1 Area = --- x Sin(angolo_compreso)*LunghezzaLato1*LunghezzaLato2 2
Area * 2 / (prodotto lati)
Se è l'angolo minimo, sicuramente è minore di Pi/2 e quindi puoi tranquillamente tirare fuori il valore dell'angolo minimo con la funzione inversa.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"