我使用了 Max Snippe 的优秀tikz
perspective
库,我需要更改轴的定义,以便不再使用垂直(方位)轴的定义z
。
我非常确信有一种简单而有效的方法可以做到这一点,而不会失去库的功能。
因此,不要使用以下内容
\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{3d,perspective}
\begin{document}
\begin{tikzpicture}[3d view={-30}{30}]
\draw[->] (0,0,0)coordinate(O) node[below]{O} -- (1,0,0)node[below]{x};
\draw[->] (O) -- (0,1,0)node[left]{y};
\draw[->] (O) -- (0,0,1)node[right]{z};
\end{tikzpicture}
而不必像我在这里那样在坐标上作弊:
\begin{tikzpicture}[3d view={-30}{30}]
\draw[->] (0,0,0)coordinate(O1) node[above]{O} -- (1,0,0)node[below]{x};
\draw[->] (O1) -- (0,1,0)node[left]{z};
\draw[->] (O1) -- (0,0,-1)node[right]{y};
\end{tikzpicture}
有没有办法将轴重新定义为选项,例如[x=x, y=-z, z=y]
?
答案1
您可以重新定义轴,但在这种情况下您也可以围绕 x 轴旋转它们。
\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{3d,perspective}
\begin{document}
\begin{tikzpicture}[3d view={-30}{30},rotate around x=270]
\draw[->] (0,0,0)coordinate(O) node[above]{O} -- (1,0,0)node[below]{x};
\draw[->] (O) -- (0,1,0)node[right]{y};
\draw[->] (O) -- (0,0,1)node[left]{z};
\end{tikzpicture}
\end{document}
上述代码产生的结果: