Задача №3.27-1 (Солоницын Андрей, 202 группа, 2011/12 уч.гг.)

Разрезать бутылку Клейна и убедиться, что она составлена из двух листов Мебиуса. Вырезать из проективной плоскости диск и убедиться, что оставшаяся часть - лист Мебиуса.

r=3;
x11:=Show[{ParametricPlot3D[{(r+Cos[(u/2)] Sin[v]-Sin[(u/2)] Sin[2 v]) Cos[u],(r+Cos[(u/2)] Sin[v]-Sin[(u/2)] Sin[2 v]) Sin[u],Sin[(u/2)] Sin[v]+Cos[(u/2)] Sin[2 v]},{u,-π,π},{v,-π,π},ColorFunction->(ColorData["DarkRainbow"][#3]&),Axes->{False,False,False},AxesOrigin->{0,0,0},AxesLabel->{x,y,z},BoxRatios->Automatic,Boxed->False,PlotLabel->Style["Бутылка Клейна при параметризации восьмеркой",Black,18]]},ImageSize->{500,500}];
x12:=
Text[Style["x(u,v)=(3+Cos(u/2)Sin(v)-Sin(u/2)Sin(2v))Cos(u),
y(u,v)=(3+Cos(u/2)Sin(v)-Sin(u/2)Sin(2v))Sin(u),
z(u,v)=Sin(u/2)Sin(v)+Cos(u/2)Sin(2v),
где u∈[-π,π], v∈[-π,π].",Black,24]];

Ex12:=Show[{ParametricPlot3D[{(r+Cos[(u/2)] Sin[v]-Sin[(u/2)] Sin[2 v]) Cos[u],(r+Cos[(u/2)] Sin[v]-Sin[(u/2)] Sin[2 v]) Sin[u],Sin[(u/2)] Sin[v]+Cos[(u/2)] Sin[2 v]},{u,0,π},{v,-π,π},ColorFunction->(ColorData["DarkRainbow"][#3]&),Axes->{False,False,False},AxesOrigin->{0,0,0},AxesLabel->{x,y,z},BoxRatios->Automatic,Boxed->False,PlotLabel->Style["Именно поэтому восьмерка",Black,18]]},ImageSize->{500,500}];
x21:=Show[
{
ParametricPlot3D[
{{-4.8,
-4.8,
-4.8},
{4.8,
4.8,
4.8}
},
{u,-4.1,4.1},
PlotStyle->RGBColor[1,0,1],Axes->{False,False,False},AxesOrigin->{0,0,0},BoxRatios->Automatic,Boxed->False,
PlotLabel->Style["Модель проективной плоскости в \!\(\*SuperscriptBox[\(R\), \(\(3\)\(\\ \)\)]\)",Black,18],BoundaryStyle->Green
],
ParametricPlot3D[
{
2(1+Cos[2*u])*Cos[2*v],
2(1+Cos[2*u])*Sin[2*v],
2Sin[2*u]*Sin[v]
},
{u,0,Pi},{v,0,Pi},
PlotStyle->{RGBColor[0,0.5,0.9],Opacity[0.7]},Axes->{False,False,False},AxesOrigin->{0,0,0},BoxRatios->Automatic,Boxed->False,Mesh->Full
]
},
ImageSize->{500,500}
];
x22:=Text[Style["x(u,v)=2(1+Cos[2u])Cos[2v],
y(u,v)=2(1+Cos[2u])Sin[2v],
z(u,v)=2Sin[2u]Sin[v],
где u∈[0,π], v∈[0,π].",Black,24]];

Ex22:=Show[
{
ParametricPlot3D[
{{-4.8,
-4.8,
-4.8},
{4.8,
4.8,
4.8}
},
{u,-4.1,4.1},
PlotStyle->RGBColor[1,0,1],Axes->{False,False,False},AxesOrigin->{0,0,0},BoxRatios->Automatic,Boxed->False,
PlotLabel->Style["Модель проективной плоскости в \!\(\*SuperscriptBox[\(R\), \(\(3\)\(\\ \)\)]\)с вырезанным диском",Black,18],BoundaryStyle->Green
],
ParametricPlot3D[
{
2(1+Cos[2*u])*Cos[2*v],
2(1+Cos[2*u])*Sin[2*v],
2Sin[2*u]*Sin[v]
},
{u,0,Pi},{v,0,Pi},
PlotStyle->{RGBColor[1,0.5,0],Opacity[0.7]},Axes->{False,False,False},AxesOrigin->{0,0,0},BoxRatios->Automatic,Boxed->False,Mesh->Full,
RegionFunction->Function[{x,y,z,u,v},(x>-1)]
]
},
ImageSize->{500,500}
];
f1[x_,y_]:=x y;
f2[x_,y_]:=x^2-y^2;
t1[u_,v_]:=Sqrt[1-u^2] Cos[v];
t2[u_,v_]:=Sqrt[1-u^2] Sin[v];
p1[u_,v_]=f1[t1[u,v],t2[u,v]];
p2[u_,v_]=f1[t1[u,v],u];
p3[u_,v_]=f2[t1[u,v],t2[u,v]];
t1[u_,v_]:=(Sqrt[1-(u^2)]) Cos[v];
t2[u_,v_]:=(Sqrt[1-(u^2)]) Sin[v];
x23:=Show[
{
ParametricPlot3D[
{{-4.8,
-4.8,
-4.8},
{4.8,
4.8,
4.8}
},
{u,-4.1,4.1},
PlotStyle->RGBColor[1,0,1],Axes->{False,False,False},AxesOrigin->{0,0,0},BoxRatios->Automatic,Boxed->False,
PlotLabel->Style["Модель проективной плоскости в \!\(\*SuperscriptBox[\(R\), \(\(3\)\(\\ \)\)]\)",Black,18],BoundaryStyle->Green
],
ParametricPlot3D[
{5p1[u,v],
5p2[u,v],
5p3[u,v]},
{u,-1,1},{v,0, Pi},
ColorFunction-> "NeonColors",Axes->None,Boxed->False,MeshFunctions->{#3&},Mesh->12,MeshStyle->{Blue},PlotStyle->Opacity[0.6]]
},
ImageSize->{500,500}
];
x24:=Text[Style["x(u,v)=(1-(u^2)) Cos[v]Sin[v],
y(u,v)=(Sqrt[1 - (u^2)]) Cos[v]u,
z(u,v)=(1-(u^2))(Cos[2v]),
где u∈[-1,1], v∈[0,π].",Black,24]];


Ex31:=Show[
Graphics[
{
Arrow[{{-2,-2},{-2,2}}],
Arrow[{{-2,2},{2,2}}],
Arrow[{{2,2},{2,-2}}],
Arrow[{{2,-2},{-2,-2}}],
Text[Style["a",Black,16],{0,2.2}],
Text[Style["a",Black,16],{0,-2.2}],
Text[Style["b",Black,16],{2.2,0}],
Text[Style["b",Black,16],{-2.2,0}],
Text[Style["Это модель проективной плоскости",Black,18],{0,2.6}],
Line[{{7,-2},{7,2}}],
Arrow[{{7,2},{11,2}}],
Line[{{11,2},{11,-2}}],
Arrow[{{11,-2},{7,-2}}],
Text[Style["a",Black,16],{9,2.2}],
Text[Style["a",Black,16],{9,-2.2}],
Text[Style["Это модель Листа Мёбиуса",Black,18],{9,2.6}],
Arrow[{{-2,-8},{-2,-7}}],
Arrow[{{-2,-5},{-2,-4}}],
Arrow[{{-2,-4},{2,-4}}],
Arrow[{{2,-7},{2,-8}}],
Arrow[{{2,-4},{2,-5}}],
Arrow[{{2,-8},{-2,-8}}],
Text[Style["a",Black,16],{0,-3.8}],
Text[Style["a",Black,16],{0,-8.2}],
Text[Style["b",Black,16],{2.3,-4.5}],
Text[Style["b",Black,16],{-2.3,-4.5}],
Text[Style["b",Black,16],{2.3,-7.5}],
Text[Style["b",Black,16],{-2.3,-7.5}],
Circle[{-2,-6},1,{-Pi/2,Pi/2}],
Circle[{2,-6},1,{Pi/2,3Pi/2}],
Text[Style["Вырежем из проективной плоскости диск",Black,18],{0,-3.4}],
Line[{{6,-8},{6,-4}}],
Line[{{12,-8},{12,-4}}],
Arrow[{{6,-4},{7,-4}}],
Arrow[{{7,-4},{11,-4}}],
Arrow[{{11,-4},{12,-4}}],
Arrow[{{12,-8},{11,-8}}],
Arrow[{{11,-8},{7,-8}}],
Arrow[{{7,-8},{6,-8}}],
Text[Style["a",Black,16],{9,-3.7}],
Text[Style["a",Black,16],{9,-8.4}],
Text[Style["b",Black,16],{6.5,-3.7}],
Text[Style["b",Black,16],{11.5,-3.7}],
Text[Style["b",Black,16],{6.5,-8.4}],
Text[Style["b",Black,16],{11.5,-8.4}],
Text[Style["Перетянув таким образом части модели получаем модель листа Мёбиуса",Black,18],{9,-9}]
}
],ImageSize->{800,400}
];

Manipulate[g,{{g, x11, " "},
{x11->"1.1 Параметризация восьмеркой",
x12-> "1.2 Параметризация (формулы)",
Ex12->"1.3 Поперечный срез",
Delimiter,
x21->"2.1 Модель склейки проективной плоскости из квадрата (параметризация 1)",
x22-> "2.2 Парматеризация (формулы)",
Ex22->"2.3 Скрещенный колпак (Погружение с вырезанным диском)",
x23->"2.4 Модель склейки проективной плоскости из квадрата (параметризация 2)",
x24-> "2.5 Парметризация (формулы)",
Delimiter,
Ex31->"3.1 Доказательство в схемах"},ControlType->PopupMenu},
  FrameLabel->{"","",Style["Иллюстрации 
     Часть 1",Bold,Blue,20]},ControlPlacement->Top]

{Manipulate[{Show[

{{ParametricPlot3D[{{-4.1-b,-4.1-b,-4.1-b},{4.1+b,4.1+b,4.1+b}},{u,-4.1,4.1},PlotPoints-> 50,PlotStyle->RGBColor[1,1,0],Axes->{False,False,False},AxesOrigin->{0,0,0},BoxRatios->Automatic,Boxed->False,PlotLabel->Style["Разрезаем Бутылку Клейна",Blue,20],BoundaryStyle->{Red,Thick}]},

{ParametricPlot3D[{(3+Cos[(u/2)] Sin[v]-Sin[(u/2)] Sin[2 v]) Cos[u]+b,(3+Cos[(u/2)] Sin[v]-Sin[(u/2)] Sin[2 v]) Sin[u]+b,Sin[(u/2)] Sin[v]+Cos[(u/2)] Sin[2 v]},{u,-π,π},{v,-((π/2)-a),(π/2)-a},PlotPoints-> 50,PlotStyle->RGBColor[0.4,1,1-a],Axes->{False,False,False},AxesOrigin->{0,0,0},BoxRatios->Automatic,Boxed->False,PlotLabel->Style["Разрезаем Бутылку Клейна",Black,18],Mesh->None,BoundaryStyle->{Red,Thick}]},

{ParametricPlot3D[{(3+Cos[(u/2)] Sin[v]-Sin[(u/2)] Sin[2 v]) Cos[u]-b,(3+Cos[(u/2)] Sin[v]-Sin[(u/2)] Sin[2 v]) Sin[u]-b,Sin[(u/2)] Sin[v]+Cos[(u/2)] Sin[2 v]},{u,-π,π},{v,(π/2)+a,((3 π)/2)-a},PlotPoints-> 50,PlotStyle->RGBColor[0.4,1-a,1],Axes->{False,False,False},AxesOrigin->{0,0,0},BoxRatios->Automatic,Boxed->False,PlotLabel->Style["Разрезаем Бутылку Клейна",Black,18],BoundaryStyle->{Red,Thick},Mesh->None]}},

ImageSize->{500,500}]},{a,0,0.4 π},{b,0,4}],
Manipulate[
Show[
{
ParametricPlot3D[
{(3+Cos[(u/2)] Sin[v]-Sin[(u/2)] Sin[2 v]) Cos[u],
(3+Cos[(u/2)] Sin[v]-Sin[(u/2)] Sin[2 v]) Sin[u],
Sin[(u/2)] Sin[v]+Cos[(u/2)] Sin[2 v]},
{u,-Pi,-47π/51+b},{v,-π,-13(π/15)+a},PlotPoints-> 50,ColorFunction->"BlueGreenYellow",Axes->{False,False,False},AxesOrigin->{0,0,0},BoxRatios->Automatic,Boxed->False,PlotLabel->Style["Склеиваем Бутылку Клейна из квадрата",Blue,18],Mesh->5,MeshStyle->{Gray},BoundaryStyle->Blue
]
},ImageSize->{500,500}],{a,0,28π/15},{b,0,98Pi/51}]}