Costa'a Minimal Surface

Matthias Weber
Indiana University
http://www.indiana.edu/~minimal

<<Own`Mesh`

Weierstrass Representation

phi1[w_]:=2 rho I (Sqrt[w]) Hypergeometric2F1[(1/4),(3/2),(5/4),(w^2)];
phi2[w_]:=-((2 w^(1.5) I Hypergeometric2F1[(3/4),(1/2),(7/4),(w^2)])/(3 rho));

rho=N[((Gamma[(3/4)])/((Sqrt[2]) Gamma[(5/4)]))];
G[z_]:=(rho/((Sqrt[z]) (Sqrt[z-1])(Sqrt[z+1])));
dh[z_]:=(1/(-1+(z^2)));

f1[z_]:=-(1/2) (phi1[z]-phi2[z]);
f2[z_]:=(1/2) I (phi1[z]+phi2[z]);
f3[z_]:=(1/2) Log[(-1+z)/(1+z)];

f[z_]:=Re[{f1[z],f2[z],f3[z]}];
n[z_]:=StereographicProjection[G[z]];

Version via numerical integration, not used

f0[w_]:=Module[{z},Re[NIntegrate[Evaluate[{((-(rho^2)-z+(z^3))/(2 rho (Sqrt[z]) (((-1+(z^2)))^(3/2)))),((I ((rho^2)-z+(z^3)))/(2 rho (Sqrt[z]) (((-1+(z^2)))^(3/2)))),(1/(-1+(z^2)))}],{z,0,w}]]]

Parameterization

ϵ=0.00000001;

r1=-3;(* size of catenoidal end size*)
r2=4;(* size of planar end *)
nr1=8;(*number of r-lines for catenoidal ends*)
nr2=8;(*number of r-lines for planar end*)
nt=15;(*number of t-lines for all ends *)

dm1=RectangularDomain[Union[NRange[r1,0,nr1],NRange[0,r2,nr2]],NRange[ϵ,Pi-ϵ,nt]];

dm2=MeshApply[+Sqrt[1+E^#]&,dm1];

fr1=MeshPlot3D[{f[x+I y],n[x+I y]},{x,y},dm2];

fr2=MeshJoin[fr1,MeshRotate[fr1,StraightLine[{1,-1,0},{0,0,0}]]];

fr3=MeshJoin[fr2,MeshReflect[fr2,Plane[{1,0,0},0]]];

fr4=MeshJoin[fr3,MeshReflect[fr3,Plane[{0,1,0},0]]];

Show[gr=Mesh3DToGraphics3D[fr4]]