在 tikz-3dplot 中旋转箭头

在 tikz-3dplot 中旋转箭头

这个问题和我之前问过的问题类似:如何在 TikZ 中将 3D 变换应用于箭头

但是我在 TikZ 中使用该3d库。这个问题是关于的tikz-3dplot

如何旋转箭头?请考虑这个最小的例子:

在此处输入图片描述

以 z 轴箭头为例。我希望能够将其变换为位于 xz 平面或 yz 平面。这可能吗?

平均能量损失

\documentclass{standalone}
\usepackage{tikz}
\usepackage{tikz-3dplot}

\begin{document}

\tdplotsetmaincoords{60}{120}
\begin{tikzpicture}[tdplot_main_coords]

\coordinate (O) at (0,0,0);
\draw[thick,->] (0,0,0) -- (1,0,0) node[anchor=north east]{$x$};
\draw[thick,->] (0,0,0) -- (0,1,0) node[anchor=north west]{$y$};
\draw[thick,->] (0,0,0) -- (0,0,1) node[anchor=south]{$z$}; 

\end{tikzpicture}

\end{document}

答案1

您可以使用3d库来使用canvas is xz plane at y\pgflowlevelsynccm转换箭头。以下轴z位于 xz 平面,另外两个轴位于 xy 平面。

\documentclass{standalone}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{3d}
\begin{document}

\tdplotsetmaincoords{60}{120}
\begin{tikzpicture}[tdplot_main_coords]

\coordinate (O) at (0,0,0);
\begin{scope}[canvas is xz plane at y=0]
 \path  (0,1) node[anchor=south]{$z$}; 
 \pgflowlevelsynccm
 \draw[thick,->] (0,0) -- (0,1); 
\end{scope}
\begin{scope}[canvas is xy plane at z=0]
 \path (1,0) node[anchor=north east]{$x$}
  (0,1)  node[anchor=north west]{$y$};
 \pgflowlevelsynccm
 \draw[thick,->] (0,0) -- (1,0);
 \draw[thick,->] (0,0) -- (0,1);
\end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容