m=2;
n=3;

InitFiber[m_, n_] := Block[{ff, u, v, x, y, z, w, gg, curves, tubes},
ff = u^m - v^n /. {u->x + I y, v -> z + w I};
{milnorf, milnorg} = Factor[(ComplexExpand[{Re[ff], Im[ff]}] /.  {x->(((Sqrt[2]) (-2+(x^2)+(y^2)+(z^2)))/(2+(x^2)+(y^2)+(z^2))),y->((4 x)/(2+(x^2)+(y^2)+(z^2))),z->((4 y)/(2+(x^2)+(y^2)+(z^2))),w->((4 z)/(2+(x^2)+(y^2)+(z^2)))})] * (2+x^2+y^2+z^2)^Max[m,n];
curves = Table[{-((Sqrt[2] y)/(-Sqrt[2]+x)),-((Sqrt[2] z)/(-Sqrt[2]+x)),-((Sqrt[2] w)/(-Sqrt[2]+x))}   /. {x->Cos[n u+2 Pi k/m],y->Sin[n u+2 Pi k/m],z->Cos[m u],w->Sin[m u]}, {k, 0, GCD[m, n]-1}];
tubes =  Table[MyTube[curves[[i]], .1], {i, 1, Length[curves]}];
milnorlink = Show[Table[ParametricPlot3D[tubes[[i]], {u, 0 , 2 Pi}, {v, 0, 2 Pi}, PlotPoints->100,PlotStyle-> RGBColor[1, (i-1)/Length[tubes], (i-1)/Length[tubes]], Mesh->None], {i, 1, Length[tubes]}], PlotRange->All, Background->Black, Boxed->False, Axes->False, ViewPoint->{5, 0, 0}];
];

MyTube[r_, rad_] := Module[{dr, dr2, n1, b1, cc, tube},
dr = D[r, u];
dr2= D[dr, u];
n1 = dr2 - (dr . dr2) dr/(dr . dr);
b1 = Cross[n1, dr];
cc = Cos[v] n1 + Sin[v] b1;
tube = r + rad cc/Sqrt[cc . cc];
Return[tube];
] ;

DrawFiber[th0_, op1_, op2_] := Block[{f1, g1, c1, c2}, 
f1= Cos[th0] milnorf + Sin[th0] milnorg;
g1 =Sin[th0] milnorf -Cos[th0] milnorg;
c1 = Directive[Specularity[White,30],Opacity[op1],Green];
c2 =  Directive[Specularity[White,30], Opacity[op2],Orange];
Show[ ContourPlot3D[{f1==0}, {x,-4, 4}, {y, -4, 4}, {z, -4, 4}, ColorFunction->  Function[{x, y, z, f},If[g1>0,c1, c2]],  ColorFunctionScaling->False, Mesh->None, PlotPoints->50, BoundaryStyle->None, Lighting->Automatic], milnorlink, Boxed->False, Axes->False, ViewPoint->{5, 0, 0} , Background->Black, ImageSize->{800, 600}]
]

InitFiber[2,3]

DrawFiber[0,1,0]

tubes =  Table[MyTube[curves[[i]], .1], {i, 1, Length[curves]}];
milnorlink = Show[Table[ParametricPlot3D[tubes[[i]], {u, 0 , 2 Pi}, {v, 0, 2 Pi}, PlotPoints->100,PlotStyle-> RGBColor[1, (i-1)/Length[tubes], (i-1)/Length[tubes]], Mesh->None], {i, 1, Length[tubes]}], PlotRange->All, Background->Black, Boxed->False, Axes->False, ViewPoint->{5, 0, 0}];

curves = Table[{-((Sqrt[2] y)/(-Sqrt[2]+x)),-((Sqrt[2] z)/(-Sqrt[2]+x)),-((Sqrt[2] w)/(-Sqrt[2]+x))}   /. {x->Cos[n u+2 Pi k/m],y->Sin[n u+2 Pi k/m],z->Cos[m u],w->Sin[m u]}, {k, 0, GCD[m, n]-1}]

ReOrder[{z_,y_,x_}]:={x,y,z}

Show[Table[ParametricPlot3D[tubes[[i]], {u, 0 , 2 Pi}, {v, 0, 2 Pi}, PlotPoints->100,PlotStyle-> RGBColor[1, (i-1)/Length[tubes], (i-1)/Length[tubes]], Mesh->None], {i, 1, Length[tubes]}], PlotRange->All, Background->Black, Boxed->False, Axes->False, ViewPoint->{5, 0, 0}]

ParametricPlot3D[CHANGE[tubes[[1]]],{u, 0, 2 Pi}, {v,0,2π},PlotPoints->30, MeshStyle->None]

CHANGE[{x_,y_,z_}]:=CoordinateTransformData["Cartesian"->"Cylindrical","Mapping",{x,y,z}]

CHANGE[tubes[[1]]]//Simplify

ParametricPlot3D[ReOrder/@curves,{u,0,2π},AxesLabel->{"x","y","z"}]

knot=Flatten@(ReOrder/@curves)

CoordinateTransformData["Cartesian"->"Cylindrical","Mapping",knot]

ParametricPlot3D[CoordinateTransformData["Cartesian"->"Cylindrical","Mapping",knot],{u,0,2Pi},Exclusions->True]

Manipulate[
Show[ParametricPlot3D[curves,{u,0,2π},AxesLabel->{"x","y","z"}],
Graphics3D[{PointSize[0.05],Point[curves/.u->U]}],Graphics3D@Text[Theta/@curves/.u->U]],{U,0,2π}]

π/2//N

Theta/@curves