Берем 3 точки (P) на плоскости с координатами (X,Y).
Пример кода на Pascal/Delphi:
type TPoint = record
X: Longint;
Y: Longint;
end;
function GetUgol(P1, P2, P3: TPoint):Integer;
var
M1, M2, SM, CosUgol: Single; //Модули А1 и А2, их скалярное произведение и косинус угла
begin
M1 := Sqrt(Sqr(P2.X - P1.X) + Sqr(P2.Y - P1.Y));
M2 := Sqrt(Sqr(P3.X - P1.X) + Sqr(P3.Y - P1.Y));
SM := (P2.X - P1.X) * (P3.X - P1.X) + (P2.Y - P1.Y) * (P3.Y - P1.Y);
CosUgol := SM / (M1 * M2);
GetUgol := Round(ArcCos(CosUgol) * 180);
end;