Aiuto su calcolo angolo formato da tre punti.
Salve a tutti.. Avrei bisogno di un aiuto per calcolare l'angolo formato da tre punti.. Mi spiego meglio.. Ho tre punti (A,B,C) identificati a loro volta dalle coordinate (Ax,Ay),(Bx,By) e (Cx,Cy).. Come faccio a sapere l'angolo che forma il segmento BA con il segmento AC?? Esiste una formula che date le coordinate mi permette di calcolarmelo??
Grazie mille..
Grazie mille..
Risposte
I coefficienti angolari delle rette $AC$ e $BA$ sono $m_0=(y_A-y_C)/(x_A-x_C)$ e $m_1=(y_A-y_B)/(x_A-x_C)$. L'angolo $phi$ fra le rette soddisfa $tan(phi)=(m_1-m_0)/(1+m_1*m_0)$.
Grazie mille per l'aiuto

o alternativamente puoi fare il prodotto scalare tra i vettori AB ed AC e dividere per il prodotto delle norme in modo da ottenere cos(\phi).... ciao!
Grazie ancora per l'aiuto.. Il primo metodo è molto più semplice, ma presenta un problema in quanto posso avere degli angoli maggiori di 180 gradi e da quello che ne so la funzione inversa della tangente (arcotangente) non va bene.. Come si potrebbe risolvere questo problema utilizzando sempre il primo metodo??
Grazie ancora..
Grazie ancora..
allora per il secondo metodo potresti raggionare così:
chiamiamo $a$ il segmento $BA$ e $b$ il segmento $BC$ (che fantasia... heheh) ora tu puoi spostare tutti i vettori lungo la loro retta d'azione o parallelamente ad essi, in modo tale he l'origine del vettore concida con l'origine del SdR. A questo punto è facile individuare le cordinate dei due vettori, (sono le coordinate del secondo puto)... allora c'è una formula che ti dice che $phi=acos((a*b)/(||a|| ||b||))$ dove con $*$ indico il prodotto scalare canonico...
ciao ciao
chiamiamo $a$ il segmento $BA$ e $b$ il segmento $BC$ (che fantasia... heheh) ora tu puoi spostare tutti i vettori lungo la loro retta d'azione o parallelamente ad essi, in modo tale he l'origine del vettore concida con l'origine del SdR. A questo punto è facile individuare le cordinate dei due vettori, (sono le coordinate del secondo puto)... allora c'è una formula che ti dice che $phi=acos((a*b)/(||a|| ||b||))$ dove con $*$ indico il prodotto scalare canonico...
ciao ciao
Più semplicemente nel calcolare i vettori poni $a=(Ax-Bx,Ay-By)=vec(AB)$, $b=(Cx-Bx,Cy-By)=vec(BC)$
e poi usa la definizione di angolo per calcolarlo..come t'hanno già ben spiegato.
e poi usa la definizione di angolo per calcolarlo..come t'hanno già ben spiegato.