reset;
<Text-field style="Heading 1" layout="Heading 1">A Torus</Text-field>r:= phi->a + b*cos(phi);a:=3; b:=1;with(plots):plot3d([r(phi)*cos(theta), r(phi)*sin(theta), b*sin(phi)], phi=0..2*Pi, theta=0..2*Pi, scaling=constrained);
<Text-field style="Heading 1" layout="Heading 1">Strip with no twist</Text-field>with(plots):
phi:=-2*Pi/3: s:='s': t:='t': a:=10;
plot3d([(a+cos(phi)*t)*cos(s), (a+cos(phi)*t)*sin(s), sin(phi)*t], s=0..2*Pi, t=-2..2, color=[sin(1+t),sin(1+t),1], scaling=constrained, grid=[25,10], style=patch, orientation=[-55, 75]);
<Text-field style="Heading 1" layout="Heading 1">Strip with a full twist</Text-field>Next we twist this band by having the angle phi (which determines the slope) depend on s, say phi = s.phi:=s:plot3d([(a+t*cos(phi))*cos(s), (a+t*cos(phi))*sin(s), t*sin(phi)], s=0..2*Pi, t=-2..2, color=[sin(1+t),sin(1+t),1], scaling=constrained, grid=[25,10], style=patch, orientation=[-25, 80]);
<Text-field style="Heading 1" layout="Heading 1">Strip with a half-twist (Mobius band)</Text-field>In the picture we just saw, the band was given a full twist. Next we give it a half-twist: phi = s/2.phi:=s/2:plot3d([(a+t*cos(phi))*cos(s), (a+t*cos(phi))*sin(s), t*sin(phi)], s=0..2*Pi, t=-2..2, color=[sin(1+t),sin(1+t),1], scaling=constrained, grid=[25,10], style=patch, orientation=[-80, 75], title=`Mobius Band`, font = [TIMES, BOLD, 20]);This is a Mobius band. It has only one side. If you begin walking on one side, then where the band is joined you observe that you are on the "other" side. This is made explicit by the coloring since where the band is joined, the top on one part becomes the bottom on the other.