使用透视库改变方位轴的简单方法

使用透视库改变方位轴的简单方法

我使用了 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}

上述代码产生的结果:

在此处输入图片描述

相关内容