### Costa-Hoffman-Meeks Minimal Surface

This was a real challenge to do in plain PoV. As a starting point I used the Mathematica parametrization developed by Alfred Gray et al. It should be noted that this only works with mma 3.0 or later. I do not have this, so the following is untested by me.
```  c=189.07272;
e1=6.87519;

costa1[u_,v_]:= (1/2) Re[-WeierstrassZeta[u+I v,{c,0}] +Pi u +
Pi^2/(4 e1)+(Pi/(2 e1)) (WeierstrassZeta[u+I v-1/2,{c,0}]-
WeierstrassZeta[u+I v-I/2,{c,0}])]

costa2[u_,v_]:= (1/2) Re[-I*WeierstrassZeta[u+I v,{c,0}] +Pi v +
Pi^2/(4 e1)-(Pi/(2 e1))*(I*WeierstrassZeta[u+I v-1/2,{c,0}]-
I*WeierstrassZeta[u+I v-I/2,{c,0}])]

costa3[u_,v_]:=(Sqrt[2 Pi]/4) Log[Abs[(WeierstrassP[u+I v,{c,0}]-e1)/
(WeierstrassP[u+I v,{c,0}]+e1)]]

costa[u_,v_]:={costa1[u,v],costa2[u,v],costa3[u,v]}

costaplot80=ParametricPlot3D[costa[u,v],{u,0.001,1.001},
{v,0.001,1.001},PlotPoints->80]

selectgraphics3d[graphics3dobj_,bound_,opts___]:=
Show[Graphics3D[Select[graphics3dobj,
(Abs[#[[1,1,1]]] < bound &&  Abs[#[[1,1,2]]] < bound &&
Abs[#[[1,1,3]]] < bound &&  Abs[#[[1,2,1]]] < bound &&
Abs[#[[1,2,2]]] < bound &&  Abs[#[[1,2,3]]] < bound &&
Abs[#[[1,3,1]]] < bound &&  Abs[#[[1,3,2]]] < bound &&
Abs[#[[1,3,3]]] < bound &&  Abs[#[[1,4,1]]] < bound &&
Abs[#[[1,4,2]]] < bound &&  Abs[#[[1,4,2]]] < bound
)&]],opts]

dip[ins_][g_]:=\$DisplayFunction[Insert[g,ins,{1,1}]]

selectgraphics3d[costaplot80[[1]],8,
Boxed->False,ViewPoint->{2.9,-1.4,1.2},
PlotRange->{{-4,4},{-4,4},{-2,2}},
DisplayFunction->dip[EdgeForm[]]]
```
As the Weierstrass P and Zeta functions are absent from PoV, I developed a parmetrization using only functions supported in PoV.
The Weierstrass P function is implemented with economized polynomials. And the Weierstrass Zeta function is realized with Theta functions. The resulting x,y and z functions are ugly and unilluminating but I only aimed for a working scheme.
In this instance the source is rolled up in a zip file. It works in dos, but I get errors with Linux. The PoV expression parser is probably a bit streched.
If anybody is deeply interested in a blow by blow account on how this was done, send me a note.

Here is the (pkzipped) PoV3-source I used