Message Boards Message Boards

[GIF] Scherk surface and family resemblance

Family Resemblance

Family Resemblance

This is an isometric projection of one fundamental domain of the Scherk surface and its associate family. This is obviously not a projection that reveals much of the geometry of the surface, but I like how it visually recalls string art parabolas.

Here's the code for the corresponding Manipulate object:

scherk[u_, v_, \[Theta]_] := 
 Re[E^(I \[Theta]) {ArcTanh[z], I ArcTan[z], I ArcTanh[z^2]} /. 
   z -> u + I v]

Manipulate[Module[{a, projector},
  a = .99;
  projector = {{1, 0, 0}, {0, 1, 0}};
  Show[ParametricPlot[
    Table[projector.scherk[u, v, \[Theta]], {u, -a, a, a/10}], {v, -a,
      a}, PlotRange -> 3.5, Axes -> False, 
    PlotStyle -> Directive[Thickness[.0045], RGBColor["#fbfbfb"]]], 
   ParametricPlot[
    Table[projector.scherk[u, v, \[Theta]], {v, -a, a, a/10}], {u, -a,
      a}, PlotStyle -> 
     Directive[Thickness[.0045], RGBColor["#fbfbfb"]]], 
   ImageSize -> 540, Background -> RGBColor["#08327d"]]], {\[Theta], 
  0, \[Pi]}]

I originally wrote this as a single ParametricPlot using projector.# & /@ {scherk[u, v, \[Theta]], scherk[v, u, \[Theta]]}, but breaking the mesh drawing code into two separate ParametricPlots ended up being considerably faster. (Also, note that I've projected down to 2D, which generally seems to lead to higher image quality and faster processing.)

Here's a more conventional projection of the same surface:

More traditional Scherk surface mesh

And here's the code for this view:

Manipulate[Module[{a, projector},
  a = .99;
  projector = {{1, 0, 0}, {0, 1, 0}};
  Show[ParametricPlot3D[
    Table[scherk[u, v, \[Theta]], {u, -a, a, a/10}], {v, -a, a}, 
    PlotRange -> 3.5, Axes -> None, Boxed -> False, 
    ViewAngle -> \[Pi]/12, 
    PlotStyle -> Directive[Thickness[.0045], RGBColor["#fbfbfb"]]], 
   ParametricPlot3D[
    Table[scherk[u, v, \[Theta]], {v, -a, a, a/10}], {u, -a, a}, 
    PlotStyle -> Directive[Thickness[.0045], RGBColor["#fbfbfb"]]], 
   ImageSize -> 540, Background -> RGBColor["#08327d"]]], {\[Theta], 
  0, 2 \[Pi]}]
3 Replies

enter image description here -- you have earned Featured Contributor Badge enter image description here Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

POSTED BY: EDITORIAL BOARD

This is very beautiful, thank you for sharing !

POSTED BY: Vitaliy Kaurov

Thanks!

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract