Costa Minimal Surface

Author

Eric W. Weisstein
September 22, 2007

This notebook downloaded from http://mathworld.wolfram.com/notebooks/Surfaces/CostaMinimalSurface.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/CostaMinimalSurface.html.

©2007 Wolfram Research, Inc. except for portions noted otherwise

Surface

{#,N[#]//Chop}&@WeierstrassInvariants[{1/2,I/2}]

{#,N[#]//Chop}&@WeierstrassP[1/2,WeierstrassInvariants[{1/2,I/2}]]

Costa[u_,v_]:=With[
{
g=WeierstrassInvariants[{1/2,I/2}],
e1=WeierstrassP[1/2,WeierstrassInvariants[{1/2,I/2}]]
},
Module[
{
wz1=WeierstrassZeta[u+I v,g],
wz2=WeierstrassZeta[u+I v-1/2,g],
wz3=WeierstrassZeta[u+I v-I/2,g],
wp=WeierstrassP[u+I v,g]
},
{
Re[-wz1+Pi u+Pi^2/(4e1)+Pi/(2e1)(wz2-wz3)]/2,
Re[-I wz1+Pi v+Pi^2/(4e1)-I Pi/(2e1)(wz2-wz3)]/2,
Sqrt[2Pi]/4Log[Abs[(wp-e1)/(wp+e1)]]
}
]
]

CostaN[u_,v_]:=With[
{
g=WeierstrassInvariants[{1/2,I/2}]//N,
e1=WeierstrassP[1/2,WeierstrassInvariants[{1/2,I/2}]]//N
},
Module[
{
wz1=WeierstrassZeta[u+I v,g],
wz2=WeierstrassZeta[u+I v-1/2,g],
wz3=WeierstrassZeta[u+I v-I/2,g],
wp=WeierstrassP[u+I v,g]
},
{
Re[-wz1+Pi u+Pi^2/(4e1)+Pi/(2e1)(wz2-wz3)]/2,
Re[-I wz1+Pi v+Pi^2/(4e1)-I Pi/(2e1)(wz2-wz3)]/2,
Sqrt[2Pi]/4Log[Abs[(wp-e1)/(wp+e1)]]
}
]
]

Equation

Costa[u,v]//TraditionalForm

Options[ComplexExpand]

ComplexExpand[Re[u+I v]]

D[Conjugate[z],z]

WeierstrassInvariants[{(1/2),(I/2)}]//N

WeierstrassP[(1/2),WeierstrassInvariants[{(1/2),(I/2)}]]//N

ComplexExpand[Costa[u,v],TargetFunctions->]

Plots

V5

Timing[costaplot=With[{eps=10.^-6},
ParametricPlot3D[Costa[u,v],{u,eps,1-eps},{v,eps,1-eps},
PlotPoints->80,Boxed->False,Axes->False]
][[1]];
]

Show[Graphics3D[{EdgeForm[],costaplot}],
Boxed->False,ViewPoint->{2.9,-1.4,1.2},PlotRange->{{-4,4},{-4,4},{-2,2}}]

V6

ParametricPlot3D[CostaN[u,v],{u,0,1},{v,0,1},Boxed->False,Axes->False]//Timing

ParametricPlot3D[Costa[u,v],{u,0,1},{v,0,1},Boxed->False,Axes->False,PlotPoints->12]//Timing

ParametricPlot3D[CostaN[u,v],{u,0,1},{v,0,1},Boxed->False,Axes->False,PlotPoints->12]//Timing

Curvatures

Curvatures[Costa[u,v],{u,v}]

Metric Properties

Metric Tensor

MetricTensor[Costa[u,v],{u,v}]

Christoffel Symbol of the Second Kind

ChristoffelSymbols[Costa[u,v],{u,v}]

Vector Properties

eqn=Costa[u,v];
rules={Abs[x_]^(n_/;Mod[n,2]==0):>x^n};
assum=(u|v)∈Reals;

Vector Length

Assuming[assum,FullSimplify[Norm[eqn]/.rules]]

Normal Vector

Assuming[assum,FullSimplify[NormalVector[eqn,{u,v}]/.rules]]