我对 TikZ 还不太熟悉,所以这个问题可能听起来很愚蠢。我怎样才能旋转整个坐标系?这是我所拥有的(简单的 3D 坐标系):
\begin{tikzpicture}[x=1cm, y=1cm, z=-0.6cm]
% Axes
\begin{scope}[rotate=0]
\draw [<->] (-3,0,0) -- (12,0,0) node [at end, right] {$z$};
\draw [<->] (0,-4,0) -- (0,4,0) node [at end, left] {$y$};
\draw [<->] (0,0,2) -- (0,0,-4) node [at end, left] {$x$};
\end{scope}
\end{tikzpicture}
因此,这是一个输出:
这就是我想要表达的(我只谈论坐标系以及它是如何旋转的):
任何帮助将不胜感激。
答案1
使用Tom Bombadil 的解决方案,您可以调整每个轴以赋予其所需的角度和方面。
\documentclass[tikz,border=3.141592mm]{standalone}
\begin{document}
\newcommand{\xangle}{30}
\newcommand{\yangle}{90}
\newcommand{\zangle}{-10}
\newcommand{\xlength}{1}
\newcommand{\ylength}{0.5}
\newcommand{\zlength}{1}
\pgfmathsetmacro{\xx}{\xlength*cos(\xangle)}
\pgfmathsetmacro{\xy}{\xlength*sin(\xangle)}
\pgfmathsetmacro{\yx}{\ylength*cos(\yangle)}
\pgfmathsetmacro{\yy}{\ylength*sin(\yangle)}
\pgfmathsetmacro{\zx}{\zlength*cos(\zangle)}
\pgfmathsetmacro{\zy}{\zlength*sin(\zangle)}
\begin{tikzpicture}[
x={(\xx cm,\xy cm)},
y={(\yx cm,\yy cm)},
z={(\zx cm,\zy cm)}
]
% Axes
\begin{scope}
\draw [<->] (-2,0,0) -- (2,0,0) node [at end, right] {$x$};
\draw [<->] (0,-4,0) -- (0,4,0) node [at end, left] {$y$};
\draw [<->] (0,0,-2) -- (0,0,6) node [at end, above] {$z$};
\end{scope}
\end{tikzpicture}
\end{document}
编辑:我删除了代码中两行多余的(复制失败)。