\foreach 和 \def 问题

\foreach 和 \def 问题

我一直在尝试使用 tikz-3dplot 制作 3d 形式的 tikzpicture,它由一组围绕 \pm z 轴的嵌套圆锥体组成。

有一个参数可以控制整个事情,\pm z 坐标、锥角和边的长度都取决于这个参数。

我正在尝试获取一个输入参数的总体图表,仅此而已。

我一直试图使用 \foreach 来做到这一点,但毫无进展 - 我不是一个直观的编码员 - 这非常令人沮丧。

关于如何进行有什么建议吗?

我想要做的一个例子(在 POVRay 中制作,长度和角度硬连线)是

在此处输入图片描述

    \documentclass{article}
\usepackage{tikz,tikz-3dplot}
\usetikzlibrary{calc}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\tdplotsetmaincoords{70}{110}
\begin{tikzpicture}
\def \l {1}
\pgfmathsetmacro{\L}{sqrt(\l*(\l+1))}
   \begin{axis}[view={45}{45},
                axis lines=center,
                axis on top,
                xlabel=$x$,
                ylabel=$y$,
                zlabel=$z$,
                no marks,
            xmin=-\l-1, xmax=\l+1,
            ymin=-\l-1, ymax=\l+1,
            zmin=-\l-1, zmax=\l+1,
]
\foreach \m in {-\l,...,\l}
     \addplot3 [no markers,samples=51, domain=0:2*pi,variable=\t]
                                      ({\L*(acos(\m/\L))*cos(\t r)},{\L*(acos(\m/\L)*sin(\t r)},\m);
  \end{axis}
\end{tikzpicture}
\end{document}

相关内容