编辑

编辑

我正在尝试在 Tikz 中构建下面的图像。除了手动计算每个笛卡尔坐标然后输入它们之外,我还想使用圆柱极坐标,因为这样会快得多。

\documentclass[tikz]{standalone}

\begin{document}
\begin{tikzpicture}
    \node (1) at (0,0,0) {$\mathbb{Q}$};
        \node (11) at (0,-1,0) {$\mathbb{Z}$};
    \node (2) at (1.732,0,-1) {$\mathbb{Q}_{2}$};
        \node (21) at (1.732,-1,-1) {$\mathbb{Z}_{2}$};
        \node (22) at (3.464,0,-2) {$\mathbb{C}_{2}$};
    \node (3) at (1.732,0,1) {$\mathbb{Q}_{3}$};
        \node (31) at (1.732,-1,1) {$\mathbb{Z}_{3}$};
        \node (32) at (3.464,0,2) {$\mathbb{C}_{3}$};
    \node (5) at (0,0,2) {$\mathbb{Q}_{5}$};
        \node (51) at (0,-1,2) {$\mathbb{Z}_{5}$};
        \node (52) at (0,0,4) {$\mathbb{C}_{5}$};
    \node (7) at (-1.732,0,1) {$\mathbb{Q}_{7}$};
        \node (71) at (-1.732,-1,1) {$\mathbb{Z}_{7}$};
        \node (72) at (-3.464,0,2) {$\mathbb{C}_{7}$};
    \node (11) at (-1.732,0,-1) {$\mathbb{Q}_{11}$};
        \node (111) at (-1.732,-1,-1) {$\mathbb{Z}_{11}$};
        \node (112) at (-3.464,0,-2) {$\mathbb{C}_{11}$};
    \node (10) at (0,0,-2) {$\mathbb{R}$};
        \node (101) at (0,0,-4) {$\mathbb{C}$};

    \draw (1) to (11);
    \draw[->] (1) to (2);
    \draw[->] (1) to (3);
    \draw[->] (1) to (5);
    \draw[->] (1) to (7);
    \draw[->] (1) to (11);
    \draw[->] (1) to (10);

    \draw (2) to (21);
    \draw[->] (2) to (22);
    \draw (3) to (31);
    \draw[->] (3) to (32);
    \draw (5) to (51);
    \draw[->] (5) to (52);
    \draw (7) to (71);
    \draw[->] (7) to (72);
    \draw (11) to (111);
    \draw[->] (11) to (112);

    \draw[->] (10) to (101);
\end{tikzpicture}
\end{document}

在此处输入图片描述

应该在圆圈的中心R在它上面坐标-plane(尽管 tikz 似乎将其定位得很奇怪)第二季度第三季度等等在里面转圈坐标-平面均匀分布。然后我想要直接传播到其相应的最后,我想要C距离中心 1 个单位比其相应的秒。

我很乐意减少“辐条”的数量以使图片更整洁,但希望至少有 5 个。

答案1

圆柱坐标系确实存在。

\documentclass[border=9,tikz]{standalone}
    \usetikzlibrary{3d}
\begin{document}
    \tikz{
        \draw[->](0,0)--(1,0)node[right]{$x$};
        \draw[->](0,0)--(0,1)node[above]{$y$};
        \draw[->](0,0)--(0,0,1)node[below left]{$z$};
        \fill foreach\i in{1,...,100}{
            (xyz cylindrical cs:angle=\i0,radius=1,z=\i/10)circle(.1)
        };
    }
\end{document}

编辑

我希望这能给你一些关于使用\foreach

\tikz[x={(-.8cm,-.6cm)},y={(1cm,0cm)},z={(0cm,1cm)}]{
    \draw[->](0,0)--(1,0)node[below left]{$x$};
    \draw[->](0,0)--(0,1)node[right]{$y$};
    \draw[->](0,0)--(0,0,1)node[above]{$z$};
    \foreach\p[count=\i]in{2,3,5,7,9,\infty}{
        \draw
            (xyz cylindrical cs:angle=\i*60,radius=0,z=4)--
            (xyz cylindrical cs:angle=\i*60,radius=2,z=4)node{$Q_\p$}--
            (xyz cylindrical cs:angle=\i*60,radius=2,z=2)node{$Z_\p$}
            (xyz cylindrical cs:angle=\i*60,radius=2,z=4)--
            (xyz cylindrical cs:angle=\i*60,radius=4,z=4)node{$C_\p$};
    };
}

相关内容