使用 pgfplots 从 texample.net 重现 3dplot 示例:使用 pgfplots 在 3d 中绘制角度

使用 pgfplots 从 texample.net 重现 3dplot 示例:使用 pgfplots 在 3d 中绘制角度

我正在尝试重现3dplots 示例来自 www.texample.net 使用 pgfplots: 在此处输入图片描述

到目前为止,实际上我并没有取得多大进展。一个问题是 pgfplots 不允许在球坐标中工作,所以我必须用笛卡尔坐标来表达一切。另一个问题是 pgfplots 不提供像 3dplots 那样绘制圆弧的简单方法,因此显示\tdplotdrawarc向量与 z 轴之间的角度 (\theta) 或向量与 xy 平面之间的角度 (\phi) 变得困难。我可以想象通过在 xy 平面上画一个圆来做后者,但我不知道如何在由向量和 z 轴描述的平面上画一个圆。

有什么想法可以解决这个问题吗?

\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{pgfplots}

\begin{document}

\pgfmathsetmacro{\rvec}{.8}
\pgfmathsetmacro{\thetavec}{30}
\pgfmathsetmacro{\phivec}{60}

\begin{tikzpicture}
    \begin{axis}[
        view={115}{30},
        axis lines=center,
%        xlabel=$e^1$,% Horribly misplaced label
%        ylabel=$e^2$,% Makes the entire plot break when used with xlabel
        z post scale=1.5
        ]

    \addplot3[-stealth',domain=0:4] ({x*sin(\thetavec)*cos(\phivec)},%
               {x*sin(\thetavec)*sin(\phivec)},%
               {x*cos(\thetavec)});
    \end{axis}
\end{tikzpicture}

\end{document}

相关内容