如何在 pgfplots 中裁​​剪 3D 表面?

如何在 pgfplots 中裁​​剪 3D 表面?

我正在尝试使用以下图表重现pgfplots

Geogebra 中的椭圆抛物面图

这是我开发的 MWE 代码以及生成的相应图表:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
    \pgfplotsset{compat=1.17}


\begin{document}

\begin{center}
    \begin{tikzpicture}
        \begin{axis}[
            width=8cm,
            height=12cm,
            axis lines=center, 
            view={120}{30},
            mesh/interior colormap name=hot,
            colormap/cool,
            point meta min=0.5, point meta max=6,
            xmin=-2,    xmax=2,     xlabel=\Large{$s$},
            ymin=-0.5,  ymax=2.5,   ylabel=\large{$t$},
            zmin=0,     zmax=6,
        ]
        \addplot3[
            surf,
            shader=interp,
            samples=50,
            domain=-2:2, y domain=-0.5:2.5
        ]
        {14*x*x+20*x*y-22*x+11*y*y-24*y+14};
        \end{axis}
    \end{tikzpicture}
    \end{center}

\end{document}

在 pgfplots 中呈现的椭圆抛物面

有几个问题:

  1. z=6视图框没有像我希望的那样裁剪图。我正在寻找与第一幅图类似的椭圆与平面的交点。
  2. 内部表面(用 着色mesh/interior colormap name=hot)不可见。
  3. pgfplots给出以下警告:
Package pgfplots Warning: the combination 'shader=interp,interior colormap name
' is inefficient (it uses 'shader=faceted interp,faceted color=none') and may s
low down the *display* of your document on input line 44.

我只知道删除网格线的命令shader=interp,并且我想用不同的颜色图为内部和外部表面着色。

发生了什么事?如何获得所需的“裁剪”效果?作为参考,以下是用网格线渲染的表面: 网格线 pgfplots 图表

相关内容