使用 pgfplots 绘制封闭的三维路径

使用 pgfplots 绘制封闭的三维路径

我想使用 pgfplots 重现以下 3d 图像在此处输入图片描述

不需要电池,只需要闭合路径和轴。

我找不到任何不能用参数函数表示的 3D 路径示例,但这些路径是用户定义的、看似随机的路径。有什么想法可以实现吗?

答案1

这只是快速尝试生成一些与屏幕截图中相似的曲线。显然,您不一定需要参数化,您也可以通过一组已知坐标绘制一条平滑的曲线。但是,由于我既不懂参数化也不懂坐标,所以这是一个快速示例,应该可以让您了解事情可能是什么样子。

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{70}{130}
\begin{tikzpicture}
\begin{scope}[tdplot_main_coords]
\pgfmathsetmacro{\Radius}{3}
\draw[-latex]   (0,0,0) --  (1.5*\Radius,0,0) node[pos=1.1]{$x$};
\draw[-latex]   (0,-1.5*\Radius,0) --   (0,1.5*\Radius,0) node[pos=1.05]{$y$};
\draw[-latex]   (0,0,0) --  (0,0,1.5*\Radius) node[pos=1.1]{$z$};
\draw[double] plot[variable=\x,domain=360:0,samples=181] 
({\Radius*cos(\x)},{\Radius*sin(\x)},{2.5+\Radius*cos(2*\x)/2});
\draw (0,0,0.75*\Radius) -- (0,0,1.45*\Radius);
\end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

当然,您也可以使用 pgfplots 绘制 3D 曲线。

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis lines=middle,view={135}{45},xlabel=$x$,
ylabel=$y$,zlabel=$z$,clip=false,xtick=\empty,ytick=\empty,ztick=\empty]
\pgfmathsetmacro{\Radius}{3}
\addplot3[double,domain=360:0,samples=181,samples y=1] 
({\Radius*cos(x)},{\Radius*sin(x)},{2.5+\Radius*cos(2*x)/2});
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容