使用 TikZ 绘制 Scherk 曲面

使用 TikZ 绘制 Scherk 曲面

如何用 TikZ 绘制 Scherk 曲面?Sherk 曲面定义为

log(cos(x)/cos(y)),其中 -pi/2 < x,y < pi/2

我尝试过这个:

\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\usepgfplotslibrary{colormaps}
\pgfplotsset{width=10cm, compat=1.16}

\pgfplotscreatecolormap{bw}{color=(lightgray) color=(white) color=(lightgray)}

\begin{document}
    
    \begin{tikzpicture}
        \begin{axis}
            [
            view={60}{30},
            hide axis,
            colormap name =bw,
            ]
            \addplot3[surf,shader = faceted interp,
            domain=-pi/2+0.0001:pi/2-0.0001,
            domain y = -pi/2+0.0001:pi/2-0.0001,
            samples=20,
            colormap name =bw,
            samples y=20,
            ]
            ({x},
            {y},
            {log10(cos(deg(x))/cos(deg(y)))});
        \end{axis}
    \end{tikzpicture}
    
\end{document}

但只得到了“丑陋”的结果... 有没有办法以这种方式绘制 Sherk 表面(使用此颜色图等)?我已经以类似的方式绘制了螺旋面,并希望图片“看起来一样”(相同的颜色图和内容)...

理想的审美是:

螺旋状

我得到的是:

舍尔克

但我更希望得到类似的东西

舍尔克

答案1

\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\pgfplotsset{colormap={CM}{color=(lightgray) color=(white) color=(lightgray)}}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
view={60}{30},
hide axis,
zmin=-0.4, zmax=0.4,
trig format plots=rad,
clip=false,
]
\addplot3[
surf, shader=faceted interp,
domain=-pi/2+0.1:pi/2-0.1,
samples=20,
] ( x, y , {log10(cos(x)/cos(y))} );
\end{axis}
\end{tikzpicture}
\end{document}

Scherk 表面灰色阴影

编辑:相同的图,但有以下限制:domain=-pi/2+0.0001:pi/2-0.0001,

Scherk 表面呈灰色,翅膀较高

重要的不是限制,而是 z 比例。由于您没有显示任何 z 轴,因此选择zmin=-0.4, zmax=0.4仅基于您希望绘图看起来有多“圆” - 您的原始绘图没有错。

相关内容