DX:=pointer_x-first_pointer_x;
DY:=pointer_y-first_pointer_y;
angle:=ToDegrees(atan2(DY,DX));
Вот этот вобщем-то простейший код нахождения угла отрезка выдает какой то непонятный результат. Угол 180 градусов который по смыслу должен быть параллелен оси Х проходит диагональю

.
Можно ли вернуть угол отрезка в градусах от 0 до 360? Или от 0 до 180(-180)