我无法使用 tikz\addplot3
命令显示抛物面。我读到详尽的手册我在网上找到并尝试改编这个例子,但我似乎不太明白如何将我的函数转换为极坐标。我的抛物面的水平曲线,函数方程为:
我的代码对于三维图:
\begin{tikzpicture}
\begin{axis}[
title={Sammansatta nivåkuror, botten på $(0,0,1)$},
axis lines=center,
axis on top,
colormap/cool,
xlabel={$x$}, ylabel={$y$}, zlabel={$z$},
]
\addplot3[
surf,
samples=50,
domain=0:360,
y domain=0:3,
restrict z to domain=0:10,
data cs=polar
] (x, y, {sqrt(x^2+2*y^2)+1});
\end{axis}
\end{tikzpicture}
输出内容:
3d 图应是什么样子(但该功能已关闭):
我通过修改以下内容获得了后者:
\addplot3[
...
] (x, y, y^2)
另外,最后一个 3d 图根据我的屏幕宽度显示不同的 z 值,我不太明白。我正在使用 Overleaf。
答案1
如果公式中的 x 和 y 是笛卡尔坐标(我假设如此),那么您不应该使用data cs=polar
。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title={Sammansatta nivåkuror, botten på $(0,0,1)$},
axis lines=center,
axis on top,
colormap/cool,
xlabel={$x$}, ylabel={$y$}, zlabel={$z$},
]
\addplot3[
surf,
samples=50,
% domain=0:360,
% y domain=0:3,
% restrict z to domain=0:10,
% data cs=polar
] {sqrt(x^2+2*y^2)+1};
\end{axis}
\end{tikzpicture}
\end{document}