使用 tikz 绘制具有 3 个变量的函数

使用 tikz 绘制具有 3 个变量的函数

我正在尝试制作这个:在此处输入图片描述

函数为:f(x,y,z) = x+y+z 在 S 上,其中 S 是第一八分圆中单位球面的一部分。

我试过:

\usepackage{pgfplots}
\begin{document}
    \begin{tikzpicture}[
        declare function = {
            Z(\x,\y,\z) = \x + \y + \z;
        }
    ]
    \begin{axis}
    [
    axis lines=center,
    enlargelimits,
    tick align=inside,
    domain=1:1:1,
    samples=20,
    minor tick num=5,
    ]
    \addplot3 [surf] {Z(x,y,z)};
    \end{axis}
\end{tikzpicture}
\end{document}

但我失败了。有人能帮忙吗?

答案1

欢迎!在 3d 图中,您只能绘制 2 个变量的函数。但这正是您在这里所需要的。您只需使用标准极坐标即可获得

\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
    \begin{tikzpicture}[
        declare function = {rx(\x,\y)=R*cos(\x)*cos(\y);
            ry(\x,\y)=R*sin(\x)*cos(\y);
            rz(\x,\y)=R*sin(\y);
            R=1;
        }
    ]
    \begin{axis}
    [view={140}{20},
    axis lines=center,
    enlargelimits,
    tick align=inside,
    domain=0:90,
    samples=20,
    minor tick num=5,
    point meta=-z
    ]
    \addplot3 [surf,shader=interp,opacity=0.6] ({rx(x,y)},{ry(x,y)},{rz(x,y)});
    \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容