Symmetric k-Noids

Produces the Jorge-Meeks k-Noids

<< Own`Mesh`

Weierstrass Data

phi1[k_][
          z_] := -(((z^(-1 + k)) (k + (-1 + 
                          k) (-1 + (z^k)) LerchPhi[(z^k), 1, 
                        1 - (1/k)]))/((k^2) (-1 + 
                    (z^k))));

phi2[k_][
          z_] := ((z ((1/(1 - (z^k))) + (((-1 + k) LerchPhi[(z^k), 1, (1/k)])/k)))/k);

om1[k_][z_] := 
        (1/2) (-phi1[k][z] + phi2[k][z]);
om2[k_][z_] := 
        (1/2) I (phi1[k][z] + phi2[k][
                z]);
om3[k_][z_] := (1/(k - k (z^k)));

f[k_][z_] := 
        Re[{om1[k][z], om2[k][z], om3[k][z]}];

G[k_][z_] := (z^(k - 1));
dh[k_][z_] := (1/(((z^k) + (z^(-k)) - 2) z));
n[k_][z_] := StereographicProjection[G[k][z]];

Choose number of Catenoid ends:

k = 6;

Parametrization

r1 = 1.3;
nr = 8;
nt = 8;

dm1 = 
        RectangularDomain[
          NRange[0, r1, nr]^2, (π/2.)  + ((π NRange[0, 1, nt])/2.) ];

\(\(dm2 = 
        MeshApply[
          Chop[\((1 + 2\/\(\(-1\) + I\ E\^#1\))\)\^\(2/k\)] &, dm1];\)\)

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

mp2 = 
        MeshJoin[mp1, 
          MeshReflect[mp1, Plane[{0, 0, 1}, 1/k/2]]];

mp3 = 
        MeshJoin[mp2, MeshReflect[mp2, Plane[{0, 1, 0}, 0]]];

mp4 = 
        MeshJoin @@ 
          Table[MeshRotateZ[mp3, i 2  Pi/k, 0], {i, 0, k - 1}];

gr = Mesh3DToGraphics3D[mp4];

Show[gr, Axes -> True];