9

Jeener's Flower is a minimal surface attributed to the french engraver Patrice Jeener whom we can see here:

enter image description here

The DNA of his flower can be written as

rep = ReplaceAll[z :> x + I y];

a = rep @ Re[(z + z^5/2) * I]; b = rep @ Re[z - z^5/2]; c = rep @ Re[z^4];

and viewed with

ParametricPlot3D[{a, b, c}, {x, -1.6, 1.6}, {y, -1.6, 1.6},
 BoundaryStyle -> Automatic,
 ColorFunction -> "RedBlueTones",
 Mesh -> 30,
 PlotPoints -> 60,
 PlotRange -> All]

enter image description here

Based upon kglr's answer to my recent question: A perforated ding dong surface

I wanted to show it like

ParametricPlot3D[{a, b, c}, {x, -1.6, 1.6}, {y, -1.6, 1.6},
 ColorFunction -> "RedBlueTones",
 Extrusion -> .5,
 Mesh -> {61, 60},
 MeshShading -> {{Automatic, Automatic}, {None, Automatic}},
 MeshStyle -> None,
 PlotPoints -> {41, 41},
 PlotRange -> All]

enter image description here

But I couldn't produce a closed surface - regardless of PlotPoints and Mesh settings chosen. The same problem arises with other less complicated surfaces, but not, for example, with a Catenoid.

I don't have this problem with my Python version of ParametricPlot3D which displays in Blender like

enter image description here

The simple solution used there: Loop over all (rectangular) polygons and throw away the unwanted ones.

Any help would be highly appreciated.

eldo
  • 67,911
  • 5
  • 60
  • 168

1 Answers1

10

Specifying explicit list of mesh divisions (rather than the number of them) gives more control. The following mesh specs gives a picture close enough to the desired result:

meshlist = Rescale[#, MinMax @ #, {-1.6, 1.6}] & @
   Accumulate[Flatten @ ConstantArray[{1, 1/3}, 20]];

ParametricPlot3D[{a, b, c}, {x, -1.6, 1.6}, {y, -1.6, 1.6}, ColorFunction -> "RedBlueTones", Extrusion -> .5, Mesh -> {meshlist , Rest@ meshlist}, MeshShading -> {{Automatic, Automatic}, {None, Automatic}}, MeshStyle -> None, PlotPoints -> {41, 41}, ImageSize -> Large, PlotRange -> All]

enter image description here

Replace 15 with 25 in definition of meshlist to get:

enter image description here

kglr
  • 394,356
  • 18
  • 477
  • 896
  • 2
    Thank you so much! One additional question: Where does this Extrusion come from? It displays in red and I couldn't find it in the documentation. – eldo Oct 05 '23 at 23:11
  • 2
    @eldo, it is still undocumented . It has worked since v10 -- perhaps earlier. The earliest mention on this site is this answer by Simon Woods. To avoid red highlighting, you can use it as a Method suboption (e.g., Method -> {"Extrusion" -> 1, "ExtrusionStyle" -> White}. – kglr Oct 06 '23 at 06:44