本節では,前節で触れた平坦型極小曲面の構成法をMathematicaで実践することにより可視化 し,さらにその平坦型極小曲面の反転による像であるWillmore曲面を可視化する.
ここで,前節の
∏k j=1
(z−qj) :=z(z2n+1−1) (n≥1)
P :=z2n+1 (2.4) Q:=z2n+1+ n
n+ 1
について,n= 1の場合を考えると,これはエンドの数が2(n+ 1) = 4個の場合を扱うことにな り,C∪ ∞から取り除く点は,z= 0とz3= 1を満たす点であり,ω := −1 +√
3
2 とおくと,除 去点は,z= 0,1,ω,ω2となる.
また,エンドの数が4個の場合に他の構成法がないか考えるために,(2.5)に注目する.除去す る相異なる点をq1,q2,q3,q4とすると,
V =
0 1
q1−q2
1 q1−q3
1 q1−q4
1
q2−q1 0 1 q2−q3
1 q2−q4 1
q3−q1
1 q3−q2
0 1
q3−q4
1 q4−q1
1 q4−q2
1
q4−q3 0
−→
1 0 q2−q1
q2−q3
q2−q1
q2−q4
0 1 q1−q2
q1−q3
q1−q2 q1−q4 (q3−q2)(q3−q4) (q3−q1)(q3−q4) 0 (q3−q1)(q3−q2) (q4−q2)(q4−q3) (q4−q1)(q4−q3) (q4−q1)(q4−q2) 0
−→
1 0 (q2−q1)(q1−q3) (q2−q1)(q1−q4) 0 1 (q1−q2)(q2−q3) (q1−q2)(q2−q4)
(q3−q1)(q3−q2)(q1−q4)(q2−q4) 0 0 0 −(q2−q1)(q1−q4)(q3−q2)(q3−q4)
−(q1−q2)(q2−q4)(q3−q1)(q3−q4) (q4−q1)(q4−q2)(q1−q3)(q2−q3)
0 0 −(q2−q1)(q1−q3)(q4−q2)(q4−q3) 0
−(q1−q2)(q2−q3)(q4−q1)(q4−q3)
よって,3行4列に注目して,rankV = 2が成り立つ必要十分条件は,
(q1−q3)(q1−q4)(q2−q3)(q2−q4)
−(q1−q2)(q1−q4)(q2−q3)(q3−q4) (2.6) + (q1−q2)(q1−q3)(q2−q4)(q3−q4) = 0
となる.実際,(2.6)において,q1 =q,q2 = 1,q3 =ω,q4 =ω2とすると,
0 = (q−ω)(q−ω2)(1−ω)(1−ω2)
−(q−1)(q−ω2)(1−ω)(ω−ω2) + (q−1)(q−ω)(1−ω2)(ω−ω2)
=(1−ω)2{(q−ω)(q−ω2)(1 +ω)−(q−1)(q1−ω2)ω+ (q−1)(q−ω)ω(1 +ω)} 整理すると,
0 = {q2−ω(1 +ω)q+ 1}(1 +ω)
− {q2−(1 +ω2)q+ω2}ω +{q2−(1 +ω)q+ω}ω(1 +ω)
= (1 +ω)q2−ω(1 +ω)2q+ (1 +ω)
−ωq2+ω(1 +ω2)q−1
+ω(1 +ω)q2−ω(1 +ω2)q+ω2(1 +ω)
=(1 +ω+ω2)q2+ω(−1−2ω−ω2+ 1 +ω2−1−2ω−ω2)q+ (1 +ω+ω2)
=ω(−ω2−4ω−1)q
=−3ω2q このとき,q= 0に限る.
さて本題に戻り,(2.4)において,n= 1の場合につい て考えると,
∏k j=1
(ζ−qj) :=ζ(ζ3−1)
P :=ζ3 , Q:=ζ3+1 2
なので,Weierstrassデータは以下のように与えられ,除
外点は右図となる.
f := ζ2
(ζ3−1)2 , g:=ζ+ 1 2ζ2
可視化する際にはこの除外点避けなければならないので,除外点が4点であるこのときは,極座 標変換によって以下の5つの領域に分けて描画していく.
(i) 原点を中心とした,半径r ∈(0,1)の円環領域 (ii) 原点を中心とした,半径r ∈(1,∞)の円環領域
(iii) z= 1を中心とした,半径r∈(0,1)の円環領域 (2.7) (iv) z=ωを中心とした,半径r ∈(0,1)の円環領域
(v) z=ω2を中心とした,半径r∈(0,1)の円環領域
これらを考慮し,以下では,Mathematicaに組んだ可視化のプログラミングのソースコード(枠 内)と,それを実行して得られた曲面を載せていく.また,実際のMathematicaでは数学パレッ トを用いることでギリシャ文字や分数をしっかりと表記してプログラミングを組むことが可能で あるが,ここで載せているソースコードはそれを.txtファイルにコピー&ペーストしたものとなっ ている.
反転σを定義する.
\[Sigma][x_, y_, z_] =
{x/(x^2 + y^2 + z^2), y/(x^2 + y^2 + z^2), z/(x^2 + y^2 + z^2)};
Weierstrass-Enneperの表現公式のソースファイルは藤森祥一先生(岡山大学大学院自然科学研究
科)のファイルを参考にさせてもらった.
W.E.表現公式を定義し,Weierstrassデータ,初期値を与える.
f[\[Zeta]_] = \[Zeta]^2/(\[Zeta]^3 - 1)^2;
g[\[Zeta]_] = \[Zeta] + 1/(2 \[Zeta]^2);
z0 = 0.2;
WE[z_] = {1/2 \!\(
\*SubsuperscriptBox[\(\[Integral]\), \(z0\), \(z\)]\(f[\[Zeta]] \((1 - \*SuperscriptBox[\(g[\[Zeta]]\), \(2\)])\)\ \ \[DifferentialD]\[Zeta]\
\)\), I/2 \!\(
\*SubsuperscriptBox[\(\[Integral]\), \(z0\), \(z\)]\(f[\[Zeta]] \((1 + \*SuperscriptBox[\(g[\[Zeta]]\), \(2\)])\)\ \ \[DifferentialD]\[Zeta]\
\)\), \!\(
\*SubsuperscriptBox[\(\[Integral]\), \(z0\), \(z\)]\ \(f[\[Zeta]] g[\
\[Zeta]]\ \ \[DifferentialD]\[Zeta]\)\)};
原点を中心とした極座標変換をし,(2.7) (i)の場合を描画する.
Parameters[r_, \[Theta]_] =
WE[z] /. {z -> r E^(I \[Theta])};
RealWE[r_, \[Theta]_] = Re[Parameters[r, \[Theta]]];
M1 = ParametricPlot3D[
RealWE[r, \[Theta]], {r, 0.1, 0.9}, {\[Theta], 0, 2 \[Pi]}, PlotRange -> All, PlotPoints -> {50, 50},
Axes -> False, Boxed -> False]
N1 = ParametricPlot3D[
\[Sigma][RealWE[r, \[Theta]][[1]], RealWE[r, \[Theta]][[2]],
RealWE[r, \[Theta]][[3]] + 1], {r, 0.3, 0.8}, {\[Theta], 0, 2 \[Pi]},
PlotRange -> All, PlotPoints -> {50, 50}, Axes -> False, Boxed -> False]
図1: M1
図2: M1を反転して得られたN1
(2.7) (ii)の場合を描画する.
M2 = ParametricPlot3D[
RealWE[r, \[Theta]], {r, 1.1, 10}, {\[Theta], 0, 2 \[Pi]}, PlotRange -> All, PlotPoints -> {50, 50}, Axes -> False,
Boxed -> False]
N2 = ParametricPlot3D[
\[Sigma][RealWE[r, \[Theta]][[1]], RealWE[r, \[Theta]][[2]], RealWE[r, \[Theta]][[3]] + 1], {r, 1.5, 15}, {\[Theta], 0, 2 \[Pi]},
PlotRange -> All, PlotPoints -> {50, 50}, Axes -> False, Boxed -> False]
図3: M2
図4: M2を反転して得られたN2
z= 1を中心とした極座標変換をし,(2.7) (iii)の場合を描画する.
Parameters[r_, \[Theta]_]
= WE[z] /. {z -> r E^(I \[Theta]) + 1};
RealWE[r_, \[Theta]_] = Re[Parameters[r, \[Theta]]];
M3 = ParametricPlot3D[
RealWE[r, \[Theta]], {r, 0.15, 0.9}, {\[Theta], 0, 2 \[Pi]}, PlotRange -> All, PlotPoints -> {50, 50},
Axes -> False, Boxed -> False]
N3 = ParametricPlot3D[
\[Sigma][RealWE[r, \[Theta]][[1]], RealWE[r, \[Theta]][[2]], RealWE[r, \[Theta]][[3]] + 1], {r, 0.32, 0.9}, {\[Theta], 0, 2 \[Pi]},
PlotRange -> All, PlotPoints -> {50, 50}, Axes -> False, Boxed -> False]
図5: M3
図6: M3を反転して得られたN3
z=ωを中心とした極座標変換をし,(2.7) (iv)の場合を描画する.
Parameters[r_, \[Theta]_] =
WE[z] /. {z -> r E^(I \[Theta]) + (-1 + Sqrt[3] I)/2};
RealWE[r_, \[Theta]_] = Re[Parameters[r, \[Theta]]];
M4 = ParametricPlot3D[
RealWE[r, \[Theta]], {r, 0.15, 0.9}, {\[Theta], 0, 2 \[Pi]}, PlotRange -> All, PlotPoints -> {50, 50},
Axes -> False, Boxed -> False]
N4 = ParametricPlot3D[
\[Sigma][RealWE[r, \[Theta]][[1]], RealWE[r, \[Theta]][[2]], RealWE[r, \[Theta]][[3]] + 1], {r, 0.3, 0.9}, {\[Theta], 0, 2 \[Pi]},
PlotRange -> All, PlotPoints -> {50, 50}, Axes -> False, Boxed -> False]
図7: M4
図8: M4を反転して得られたN4
z=ω2を中心とした極座標変換をし,(2.7) (v)の場合を描画する.
Parameters[r_, \[Theta]_] =
WE[z] /. {z -> r E^(I \[Theta]) + (-1 - Sqrt[3] I)/2};
RealWE[r_, \[Theta]_] = Re[Parameters[r, \[Theta]]];
M5 = ParametricPlot3D[
RealWE[r, \[Theta]], {r, 0.15, 0.9}, {\[Theta], 0, 2 \[Pi]}, PlotRange -> All, PlotPoints -> {50, 50},
Axes -> False, Boxed -> False]
N5 = ParametricPlot3D[
\[Sigma][RealWE[r, \[Theta]][[1]], RealWE[r, \[Theta]][[2]], RealWE[r, \[Theta]][[3]] + 1],
{r, 0.3, 0.9}, {\[Theta], 0, 2 \[Pi]}, PlotRange -> All, PlotPoints -> {50, 50}, Axes -> False, Boxed -> False]
図9: M5 図10: M5を反転して得られたN5
5つの領域から得られた曲面を合わせて描画する.
Show[M1, M2, M3, M4, M5]
Show[N1, N2, N3, N4, N5]
図11: エンド4個の平坦型極小曲面M0
図12: M0を反転して得られたWillmore曲面N0