有没有办法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));