Given three non-colinear points, calculate the angle between every edge

34 Views Asked by At

To solve the problem of triangulation I would like to calculate the angles $ABC$, $BCA$ and $CAB$ between the three edges $AB$, $BC$ and $CA$ which can be formed by three non-colinear points $A$, $B$ and $C$.

I tried the method $cos(\theta) = \frac{u * v}{|u| |v|}$ on the triangle $A=(0, 0)$, $B=(3, 0)$ and $C=(3, 3)$ and expect the angle $BCA$ to be 45°, however I do get only 135°. How can I solve this problem?

Edit: I employed the law of cosines to solve this problem.

With $c = |AB|$, $a=|BC|$ and $b=|CA|$ I calculated the angles with the following formular:

$cos(ABC) = \frac{(-(b^2) + c^2 + a^2)}{2ca}$

$cos(BCA) = \frac{(-(c^2) + a^2 + b^2)}{2ab}$

$cos(CAB) = \frac{(-(a^2) + b^2 + c^2)}{2bc}$

1

There are 1 best solutions below

0
On

By finding the distance between each 2 points using the rule: S=√ (x2 − x1)2 + (y2 − y1)2 You will get that AB=BC=3 length units, AC=3√2 length units Then you can get any angle in this triangle using the law of Cosines: c^2=a^2 +b^2 -2abCosC Where a,b,c are the sides opposite to angles A , B , C respectively. Then you will find that CosC= √2 /2 , therefore Angle C= 45°