# [GIF] Gridded (Associate family of Scherk's surfaces)

Posted 3 years ago
3172 Views
|
6 Replies
|
5 Total Likes
|
 GriddedThe code below implicitly uses the Weierstrass–Enneper parametrization $f(z) = \frac{4}{1-z^2}$, $g(z) = iz$, since $\int_0^\zeta \frac{f(z)(1-g(z)^2)}{2} dz = 2 \operatorname{arctanh} \zeta$, $\int_0^\zeta i \frac{f(z)(1+g(z)^2)}{2} dz = 2 i \arctan \zeta$, and $\int_0^\zeta f(z) g(z) dz = 2 i \operatorname{arctanh}(\zeta^2)$.This is too slow to give a useful Manipulate, so I just give the GIF-generating code: scherk2[u_, v_, θ_] := Re[E^(I θ) {ArcTanh[z], I ArcTan[z], I ArcTanh[z^2]} /. z -> u + I v] scherkfamily = Module[{a = .9, cols}, cols = RGBColor /@ {"#07588A", "#E4FCF9"}; ParallelTable[ Show[ ParametricPlot[ Table[scherk2[u, v, θ][[2 ;;]], {v, -a, a, a/7}], {u, -a, a}, PlotRange -> 2, Axes -> None, Background -> Last[cols], ImageSize -> 540, PlotStyle -> cols[[1]]], ParametricPlot[ Table[scherk2[u, v, θ][[2 ;;]], {u, -a, a, a/7}], {v, -a, a}, PlotStyle -> cols[[1]]]], {θ, 0., 2 π - #, #}] &[2 π/250] ]; Export[NotebookDirectory[] <> "scherkfamily.gif", scherkfamily, "DisplayDurations" -> {1/50}] 
6 Replies
Sort By:
Posted 3 years ago
 Yeah, definitely. Here's the polar one I made before I got rid of the rendered surface altogether (check out the file size to see why I got rid of the rendered surface):
Posted 3 years ago
 I liked the polar version, too: scherk[r_, θ_, φ_] = FullSimplify[ComplexExpand[With[{z = r E^(I θ)}, Re[E^(I φ) {ArcTanh[z], I ArcTan[z], I ArcTanh[z^2]}]], TargetFunctions -> {Re, Im}]]; With[{a = 0.9, vp = {1.3, -2.4, 2.}, n = 60, ls = Directive[AbsoluteThickness[1.6], Opacity[1, RGBColor["#07588A"]]]}, Animate[ParametricPlot[Most[RotationMatrix[{vp, {0, 0, 1}}].scherk[r, θ, φ]], {r, 0, a}, {θ, -π, π}, Axes -> None, Background -> RGBColor["#E4FCF9"], BoundaryStyle -> ls, Evaluated -> True, Frame -> None, ImageSize -> 540, Mesh -> 13, MeshStyle -> ls, PlotPoints -> {55, 175}, PlotRange -> 2, PlotStyle -> None], {φ, 0, 2 π, 2 π/(n - 1)}]] 
Posted 3 years ago
 Ah, jeez, that was stupid of me. Of course ParametricPloting the region will be much faster than plotting dozens of individual curves.
Posted 3 years ago
 Hopefully, the following version is a bit more responsive for everybody: With[{a = 0.9, n = 60, ls = Directive[AbsoluteThickness[1.6], Opacity[1, RGBColor["#07588A"]]]}, Animate[ParametricPlot[With[{z = u + I v}, Re[E^(I θ) {I ArcTan[z], I ArcTanh[z^2]}]], {u, -a, a}, {v, -a, a}, Axes -> None, Background -> RGBColor["#E4FCF9"], BoundaryStyle -> ls, Frame -> None, ImageSize -> 540, Mesh -> 13, MeshStyle -> ls, PlotPoints -> 55, PlotRange -> 2, PlotStyle -> None], {θ, 0, 2 π, 2 π/(n - 1)}]]