Enneper 最小曲面的 TikZ 图?

Enneper 最小曲面的 TikZ 图?

有没有办法Enneper 最小曲面在 TikZ 中是使用其隐式方程还是使用其参数化形式?

參考文獻:https://mathworld.wolfram.com/EnnepersMinimalSurface.html

答案1

您可以使用 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}

在此处输入图片描述

答案2

这是Asymptote参数化表示的一个版本;

// 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));

在此处输入图片描述

相关内容