latex 上的 3D 绘图不正确

latex 上的 3D 绘图不正确
\documentclass[titlepage]{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepackage{tikz}
\usetikzlibrary{calc,patterns,angles,quotes}
\begin{document}
\begin{tikzpicture}
        \begin{axis}[domain=0:5,y domain=-5:5, xlabel={$x$}, ylabel={$y$}, zlabel={$z$}]
            \addplot3[surf]{x*tan(pi/3)+y^2*(2*x*tan(pi/3)+x*tan(pi/4-pi/6)-x*tan(pi/3))/((x/cos((pi/4)-pi/6))^2)};
        \end{axis}
\end{tikzpicture}
\end{document}

我尝试在 geogebra3D 上绘制相同的方程,它使用相同的符号。我应该得到一个圆锥体,但我没有得到。

答案1

您可以跳过除以零的坐标,而不是丢弃它们unbounded coords=jump。另外我猜你想要trig format plots=rad

\documentclass[titlepage]{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepackage{tikz}
\usetikzlibrary{calc,patterns,angles,quotes}
\begin{document}
\begin{tikzpicture}
        \begin{axis}[unbounded coords=jump, trig format plots=rad, domain=0:5,y domain=-5:5, xlabel={$x$}, ylabel={$y$}, zlabel={$z$}]
            \addplot3[surf]{x*tan(pi/3)+y^2*(2*x*tan(pi/3)+x*tan(pi/4-pi/6)-x*tan(pi/3))/((x/cos((pi/4)-pi/6))^2)};
        \end{axis}
\end{tikzpicture}
\end{document}

表面图

编辑:

\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=-4, xmax=4,
ymin=-4, ymax=4,
zmin=-2, zmax=5,
unbounded coords=jump,
trig format plots=rad,
xlabel={$x$}, ylabel={$y$}, zlabel={$z$},
domain=-2:4,y domain=-2:2,
]
 \addplot3[surf]{x*tan(pi/3)+y^2*(2*x*tan(pi/3)+x*tan(pi/4-pi/6)-x*tan(pi/3))/((x/cos((pi/4)-pi/6))^2)};
 \end{axis}
\end{tikzpicture}
\end{document}

表面图 - 锥体

相关内容