Examples Delphi

How to determine the angle needed to travel from X1,Y1 to X2, Y2.
Relative angles
Drawing a line from 100, 100 to 200, 200 would mean that you are
drawling your line at 135 degrees.
This function determines that angle.
function RelativeAngle(X1,Y1, X2,Y2 : Integer) : Integer;
var
Theta : Extended;
XDist,
YDist : Integer;
begin
Result := 0;
//arctan((y2-y1)/(x2-x1))
XDist := X2 - X1;
YDist := Y1 - Y2;
if (XDist = 0) and (YDist=0) then exit;
if YDist=0 then
Theta := arctan((X2-X1))
else
Theta := arctan((X2-X1)/(Y1-Y2));
Result := Round(RadToDeg(Theta));
if (X2 >= X1) and (Y2 >= Y1) then //Quadrant = 2
Result := 90+(90-Abs(Result))
else
if (X2 <= X1) and (Y2 >= Y1) then //Quadrant = 3
Result := 180 + Result
else
if (X2 <= X1) and (Y2 <= Y1) then //Quadrant = 4
Result := 270+90-Abs(Result);
end;