It all started (at least in my neck of the woods) with George W. Hart’s YouTube video Mathematically Correct Breakfast. See also a wonderful related article by George W. Hart’s. Then there was also Numberphile YouTube video Topology of a Twisted Torus. And also people asked: how do we cut bagel into linked halves with Wolfram on Mathematica Stack Exchange?
We can also think how to 3D print more "magical" objects out of it:
Here I will just foray into very simple visualizations. Let’s begin with a mathematical way to describe this structure. Here is one way as a single object:
In[]:=
single=With[{c=2,b=1},​​RotationMatrix[-u,{0,0,1}].({0,c,0}+​​RotationMatrix[u,{1,0,0}].{0,bCos[v],bUnitStep[Pi-v]Sin[v]})];
In[]:=
single//MatrixForm//TraditionalForm
Out[]//TraditionalForm=
sin(u)(-sin(u)θ(π-v)sin(v)+cos(u)cos(v)+2)
cos(u)(-sin(u)θ(π-v)sin(v)+cos(u)cos(v)+2)
cos(u)θ(π-v)sin(v)+sin(u)cos(v)
In[]:=
ParametricPlot3D[single,{u,0,2Pi},{v,0,2Pi}]
Out[]=
We can also do it as two parts: part bagel and part the cutting surface:
In[]:=
bagel={Sin[u](2+Cos[u+v]),Cos[u](2+Cos[u+v]),Sin[u+v]};​​cut={Sin[u](2+(2v/Pi-1)Cos[u]),Cos[u](2+(2v/Pi-1)Cos[u]),(2v/Pi-1)Sin[u]};​​{bagel,cut}//MatrixForm//TraditionalForm
Out[]//TraditionalForm=
sin(u)(cos(u+v)+2)
cos(u)(cos(u+v)+2)
sin(u+v)
sin(u)
2v
π
-1cos(u)+2
cos(u)
2v
π
-1cos(u)+2
2v
π
-1sin(u)
In[]:=
double=ParametricPlot3D{bagel,cut},{u,0,2Pi},{v,0,Pi},

Out[]=
Now we will double the double and see how links form interactively:
In[]:=
Manipulate[Graphics3D[{​​double[[1]],​​Translate[Rotate[Rotate[double[[1]],Pi,{0,0,1}],-aPi/2,{1,0,0}],{1.8a,0,0}]},Boxed->False,Axes->False],​​{{a,1},0,1},SaveDefinitions->True]
Out[]=
Now imagine what a fly would see orbiting around this object. We need an orbit first -- lets start from a simple circle:
In[]:=
orbit1[u_]:={5Sin[u],5Cos[u],4}
In[]:=
Manipulate[​​Show[​​Graphics3D[{​​double[[1]],​​Translate[Rotate[Rotate[double[[1]],Pi,{0,0,1}],-aPi/2,{1,0,0}],{1.8a,0,0}]},Boxed->False,Axes->False],​​ParametricPlot3D[orbit1[u],{u,Pi/2,Pi/2+2Pia},PlotStyle->Red]​​],​​{{a,1},0,1},SaveDefinitions->True]
Out[]=
Now using this orbit and ViewPoint we can see the opening bagel in fly’s POV:
Here is a bit more complex case of flying thorough the whole:

Perfectly looped GIF

Create half of a GIF loop that opens the bagel and flies camera through it:
Create 2nd half of a GIF loop that closes the bagel and does NOT flies the camera. You have to hold the camera in the same positiion for smoothness:
Compute frames and export GIF:

CITE THIS NOTEBOOK

Topology breakfast in a fly's POV: cutting a bagel into linked halves​
by Vitaliy Kaurov​
Wolfram Community, STAFF PICKS, August 13, 2024
​https://community.wolfram.com/groups/-/m/t/3247374