Rubans de Mobius tracés sur un cylindre,
sur un conoïde Plucker.
I. Animations de rubans de Moebius
Animation d'un ruban ayant subi un certain nombre de demi-tours avec deux bonshommes de couleurs différentesrestart:with(plots):I. Ruban développable constitué d'une bande de cylindre
# ruban ayant 2 demi-tours, d'aspect un peu déroutant
restart:with(plots):
restart:with(plots):
eps:=10^(-6):
large:=1: # max =1
cyl:=[sqrt(cos(2*t))*cos(t),sqrt(cos(2*t))*sin(t),u]:
ro:=0.01:
mesoptions:=radius=ro,grid=[300,20],style=patchnogrid:for i from 1 to 2 do
rub[i]:=plot3d(subs(u=cos(2*(t+Pi/4))/2+u,cyl),u=0..large, t=(4*i-5)*Pi/4+eps..(4*i-3)*Pi/4-eps,grid=[2,243]):
# courbe[i]:=spacecurve(subs(u=cos(2*(t+Pi/4))/2+large/2,cyl),t=(4*i-5)*Pi/4+eps..(4*i-3)*Pi/4-eps,color=red,thickness=2):
courbe[i]:=tubeplot(subs(u=cos(2*(t+Pi/4))/2+large/2,cyl), t=(4*i-5)*Pi/4+eps..(4*i-3)*Pi/4-eps,radius=ro,mesoptions,color=red):
# bord1[i]:=spacecurve(subs(u=cos(2*(t+Pi/4))/2+large,cyl), t=(4*i-5)*Pi/4+eps..(4*i-3)*Pi/4-eps,color=blue,thickness=2):
bord1[i]:=tubeplot(subs(u=cos(2*(t+Pi/4))/2+large,cyl), t=(4*i-5)*Pi/4+eps..(4*i-3)*Pi/4-eps,mesoptions,color=blue):
#bord2[i]:=spacecurve(subs(u=cos(2*(t+Pi/4))/2,cyl), t=(4*i-5)*Pi/4+eps..(4*i-3)*Pi/4-eps,color=blue,thickness=2):
bord2[i]:=tubeplot(subs(u=cos(2*(t+Pi/4))/2,cyl), t=(4*i-5)*Pi/4+eps..(4*i-3)*Pi/4-eps,mesoptions,color=blue):
gcyl[i]:=plot3d(subs(sqrt(cos(2*t))=sqrt(cos(2*t))-0.2/(0.1+10*sqrt(cos(2*t))),cyl),
t=(2*i-3)*Pi/2+0.01..(2*i-1)*Pi/2-0.01, u=-large..1+large,grid=[101,3]):
gcyl1[i]:=plot3d(cyl,t=(2*i-3)*Pi/2+10^(-8)..(2*i-1)*Pi/2-10^(-8),
u=-1/4-large..-large,grid=[101,3]):
od:
gr:=display([courbe[1],courbe[2],display([rub[1],rub[2]],#,gcyl1[1],gcyl2[1] avec rub[i]
style=patchnogrid),bord1[1],bord1[2],bord2[1],bord2[2],
display([gcyl[1],gcyl[2]],style=LINE,color=grey)],
scaling=constrained,orientation=[85,60],lightmodel=light2):
#plotsetup(jpeg,plotoutput="I:/siteperso/fichiersMaple/mobius/moebius-cylindre-a-base lemniscate.jpg",plotoptions="height=800,width=600"):
gr;
plotsetup(inline):
display([courbe[1],courbe[2],display([rub[1],rub[2]],style=patchnogrid),
bord1[1],bord1[2],bord2[1],bord2[2]],
scaling=constrained,orientation=[65,65],lightmodel=light2);
II. Autre ruban développable constitué d'une bande de cylindre
# ruban ayant 2 demi-tours donc deux faces
restart:with(plots):
eps:=10^(-6):
old_digits:=Digits(): Digits:=20:
cyl:=[cos(3*t)*cos(t),cos(3*t)*sin(t),u]:
a:=1/6:
rub1:=plot3d(subs(u=sin(t*2)/2+u,cyl),u=-a..a,t=0..2*Pi,grid=[2,200]):
courbe1:=spacecurve(subs(u=sin(t*2)/2,cyl),t=0..2*Pi,color=red,thickness=2,numpoints=200):
bord1:=spacecurve(subs(u=sin(t*2)/2+a,cyl),t=0..2*Pi,color=blue,thickness=2,numpoints=200):
bord2:=spacecurve(subs(u=sin(t*2)/2-a,cyl),t=0..2*Pi,color=blue,thickness=2,numpoints=200):
cylgraf:=plot3d(cyl,t=0..2*Pi,u=-5*a..5*a,grid=[81,2],style=LINE,color=grey):
display([courbe1,rub1,bord1,bord2,cylgraf],style=patchnogrid,scaling=constrained,orientation=[40,70],lightmodel=light2);
Digits:=old_digits:
III. Ruban de Mobius tracé sur un conoide de Plucker
restart:
with(plots):
x:=r*cos(u): y:=r*sin(u):
z:=x*y/(x^2+y^2):
plk:=plot3d([r,u,z],u=0..2*Pi,r=-0.00001..1.45,coords=cylindrical,grid=[60,2],style=line):
k:=0.4:
r:=cos(u)-k*sin(u/2)^2: x:=r*cos(u): y:=r*sin(u):
m:=[x,y,z]:
m:=simplify(expand(m+t*(subs(u=u+Pi,m)-m))):
c:=spacecurve([x,y,z],u=-Pi..Pi,color=red,thickness=3):
d:=plot3d(m,u=-Pi..0,t=0..1,color=yellow,grid=[30,2]):
plotsetup(inline):
display([plk,c,d],orientation=[-30,20]);