Okay the circular pond has North and East coordinates at the radius point of
10 , 10 and the radius is 10 units . The agent is at North and East coordinates of 20 , 10 and moves clockwise in 1-degree steps. The rabbit at the center of the pond moves away from the agent at each step on a line between the agent and the rabbit. And the rabbit moves 1/4 the distance that the agent moves.
The rabbit gets out at North and East coordinates of 1.3437 , 4.9694 when the agent is at an azimuth of 232 degrees on the circle edge. But the rabbit is out at an azimuth of 210 degrees or so. In other words the rabbit doubled back while the agent kept going. Before the rabbit doubled back it looks like a slow outward spiral but I will write a ScratchPlot file later.
Of course this is one systematic method with no answer for what the agent does when the rabbit is within one unit of shore and near the agent.
Here is the KBH code:
Var ads, nag, eag, rba, rds, sec, rbn, rbe, nd, ed, dgr, dst: double; flg: integer;
Procedure D; Begin If (flg = 1) Then Begin {Procedure E} rba:= rba + Pi; Exit; End; rba:= rba + (Pi * 2); {The structure of procedures D, E, & F are from the KBH Survey Progam for the HP35S} End;
Procedure F; Begin If (flg = 1) Then Exit; rba:= rba + Pi; End;
begin {KBH Code} flg:= 0; sec:= 1 / 3600; rbn:= 10; rbe:= 10; rds:= 0; dgr:= 1;
While (dgr < 233) Do Begin ads:= (dgr * Pi) / 180; nag:= 10 + Cos(ads); eag:= 10 + Sin(ads); nd:= rbn - nag; If (nd = 0) Then nd:= 0.000000000001; ed:= rbe - eag; If (ed >= 0) Then flg:= 1; rba:= ArcTan(ed / nd); If (rba < 0.000000000001) Then D Else F; rbn:= rbn + (Cos(rba) * 0.043633231); rbe:= rbe + (Sin(rba) * 0.043633231); dst:= Sqrt(Sqr(10 - rbn) + Sqr(10 - rbe)); WriteLn(rbn:15:4, rbe:15:4, dgr:15:4, dst:15:4); dgr:= dgr + 1; End;
ReadLn; end.