函数为: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}