(*CechPt:Finds the coordinate where balls of the same radii around three points a,b,c will first intersect*)
(*Input:3 coordinates {x,y}.Output:1 coordinate {x,y}*)
CechPt[a_,b_,c_]:=Module[{
cenx=Det[{{Norm[a]^2,a[[2]],1},{Norm[b]^2,b[[2]],1},{Norm[c]^2,c[[2]],1}}],
ceny=Det[{{a[[1]],Norm[a]^2,1},{b[[1]],Norm[b]^2,1},{c[[1]],Norm[c]^2,1}}],
scal=2*Det[{{a[[1]],a[[2]],1},{b[[1]],b[[2]],1},{c[[1]],c[[2]],1}}]},
cen={cenx/scal,ceny/scal};
If[Max[ArcCos[(b-a).(c-a)/(Norm[b-a]*Norm[c-a])],ArcCos[(a-b).(c-b)/(Norm[a-b]*Norm[c-b])],ArcCos[(a-c).(b-c)/(Norm[a-c]*Norm[b-c])]]<Pi/2,cen,If[Norm[cen-(a+b)/2]<Norm[cen-(a+c)/2],If[Norm[cen-(a+b)/2]<Norm[cen-(b+c)/2],(a+b)/2,(b+c)/2],If[Norm[cen-(a+c)/2]<Norm[cen-(b+c)/2],(a+c)/2,(b+c)/2]]]];

(* A path in Conf_4(R^2) *)
P1[t_]:={.8*Cos[Pi*t*2],.8*Sin[Pi*t*2]};
P2[t_]:={1.2*Cos[Pi*t*2+Pi],1.2*Sin[Pi*t*2+Pi]};
P3[t_]:={4t-2,-1/3*(4t-2)^2+.4+.7*(4t-2)};
P4[t_]:={1.5*Sin[3.5(4t-8)+1.4],1.8*Sin[4t-8]};
PList[t_]:={P1[t],P2[t],P3[t],P4[t]};

(*Graphs of pairwise distances*)
DistGraph1=Plot[Table[Norm[pair[[1]]-pair[[2]]]/2,{pair,Subsets[PList[t],{2}]}],{t,0,1},PlotRange->{{0,1},{0,1.5}},PlotStyle->{Gray},AspectRatio->1]

(*Graphs of minimum distance from every triple to its CechPt*)
DistGraph2=Plot[Table[Max[Table[Norm[triple[[k]]-CechPt@@triple],{k,1,3}]],{triple,Subsets[PList[t],{3}]}],{t,0,1},PlotRange->{{0,1},{0,1.5}},PlotStyle->{Orange},AspectRatio->1]

(* Interactive and live-updating graphs *)
Manipulate[{
Show[DistGraph2,DistGraph1,ImageSize->500],
Show[
ParametricPlot[PList[t],{t,0,X[[1]]},PlotRange->{{-2,2},{-2,2}},PlotStyle->{Black},ImageSize->450],
Graphics[Join[
{Opacity[.2],Red},Table[Disk[point,X[[2]]],{point,PList[X[[1]]]}],
{Opacity[1],Red},Table[Circle[point,X[[2]]],{point,PList[X[[1]]]}],
{Red,Disk[P1[X[[1]]],.05]},{Blue,Disk[P2[X[[1]]],.05]},{Darker[Green],Disk[P3[X[[1]]],.05]},{Yellow,Disk[P4[X[[1]]],.05]}]]],
Graphics[Join[
{Black,Thick},
Flatten[Table[{{Opacity[0],Opacity[.3]}[[Boole[X[[2]]≥Norm[pair[[1]][[1]][X[[1]]]-pair[[2]][[1]][X[[1]]]]/2]+1]],Line[#[[2]]&/@pair]},{pair,Subsets[{{P1,{0,0}},{P2,{2,0}},{P3,{0,2}},{P4,{2,2}}},{2}]}]],
Flatten[Table[{{Opacity[0],Opacity[.3]}[[Boole[X[[2]]≥Max[Table[Norm[triple[[k]][[1]][X[[1]]]-CechPt@@(#[[1]][X[[1]]]&/@triple)],{k,1,3}]]]+1]],Polygon[#[[2]]&/@triple]},{triple,Subsets[{{P1,{0,0}},{P2,{2,0}},{P3,{0,2}},{P4,{2,2}}},{3}]}]],
{Opacity[1],Red,Disk[{0,0},.07],Blue,Disk[{2,0},.07],Darker[Green],Disk[{0,2},.07],Yellow,Disk[{2,2},.07]}]]},
{{X,{.1,.1}},Locator}]