I\'m looking for a math formula that on a graph plotting Y as a function of X, before a specified starting point (a value of X, or even better, X and Y coordinates) will hav
Well I see it like this:
compute P0
as intersection of lines A + t*dA
and B - t*dB
compute P1
(center of circle)
it is intersection of translated lines A->P0
and B->P0
perpendicular by radius r
. There are 2 possibilities so choose the right one (which leads to less angle of circular part).
compute P2,P3
just an intersection between lines A-P0
and B-P0
and perpendicular line from P1
to it
the curve
// some constants first
da=P2-A;
db=B-P3;
a2=atan2(P2.x-P1.x,P2.y-P1.y);
a3=atan2(P3.x-P1.x,P3.y-P1.y);
if (a2>a3) a3-=M_PI*2.0;
dang=a3-a2;
// now (x,y)=curve(t) ... where t = <0,3>
if (t<=1.0)
{
x=A.x+t*da.x;
y=A.y+t*da.y;
}
else if (t<=2.0)
{
t=a2+((t-1.0)*dang);
x=P1.x+r*cos(t);
y=P1.y+r*sin(t);
}
else
{
t=t-2.0;
x=P3.x+t*db.x;
y=P3.y+t*db.y;
}