4

Is there a way to plot Enneper's minimal surface in TikZ either using its implicit equation or its parameterized form?

ref:https://mathworld.wolfram.com/EnnepersMinimalSurface.html

2
  • 2
    +1 I just add tag asymptote for your question. I also hope that advanced asymptote users can help you. :-)
    – user213378
    Nov 9, 2020 at 13:13
  • 1
    thank you! I am new to TikZ. Seeing different approaches to plotting this surface will be enlightening.
    – Yiannis I
    Nov 9, 2020 at 13:21

2 Answers 2

4

You could use pgfplots.

\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[hide axis]
 \addplot3[surf,z buffer=sort,%
    %mesh/ordering=y varies,
    domain=0:1,domain y=-180:180] 
 ({x*cos(y)-x*x*x*cos(3*y)/3},
  {-x*(3*sin(y)+x*x*sin(3*y))/3},
  {x*x*cos(2*y)});
\end{axis}
\end{tikzpicture}
\end{document}

enter image description here

4

This is an Asymptote version of parametric representation;

// https://tex.stackexchange.com/questions/570157/tikz-plot-for-ennepers-minimal-surface
// Enneper's Minimal Surface
// ref:https://mathworld.wolfram.com/EnnepersMinimalSurface.html
//
// EnnepersMinimalSurface.asy
// 
// to get EnnepersMinimalSurface.png, run
// asy -f png -render=4 EnnepersMinimalSurface.asy
// 
import graph3;
size(200,0);
currentlight.background=paleyellow+opacity(0.0);

currentprojection=
  orthographic(camera=(-25,50,60));

triple f(pair t){
  real r=t.x, phi=t.y;
  real x=r*cos(phi)-1/3*r^3*cos(3*phi);
  real y=-1/3*r*(3*sin(phi)+r^2*sin(3*phi));
  real z=r^2*cos(2*phi);
  return (x,y,z);
}

surface s=surface(f,(0,-pi),(1,pi),nu=12,nv=200,usplinetype=Spline);
draw(s,paleblue+opacity(0.4),meshpen=nullpen,render(merge=true));

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .