通过使用,rotate around x
我可以围绕 X 轴旋转一组点,但似乎无法旋转rectangle
。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[rotate around x=90]
\draw rectangle (1,1);
\draw[yshift=-20] (0,0) -- (1,0) -- (1,1) -- (0,1) -- cycle;
\end{tikzpicture}
\end{document}
答案1
我无法给出深入的答案为什么也就是说,矩形构造据我所知很简单(point1) -| (point1) -| cycle
。并且|-
无法正常转换。但是,有各种可能性可以实现您似乎想要的。您会发现密钥rotate around
不如库canvas is yx plane
附带的密钥“高效” 3d
。请注意,3d
已修复这里。当然,使用该3d
库无法直接实现任意旋转,但是可以使用包来解决tikz-3dplot
。如果您想访问所有可能的旋转,您可能会对以下答案感兴趣这个问题。您还可以找到一种无需加载tikz-3dplot
包即可实现任意旋转的方法,但恕我直言,没有理由不加载该包。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{3d}
\begin{document}
\begin{tikzpicture}[rotate around x=90,transform shape]
\draw[red] (0,0) rectangle (1,1);
\draw[yshift=-20,purple] (0,0) -| (1,1) -| cycle;
\draw[yshift=-40,blue] (0,0) -- (1,0) -- (1,1) -- (0,1) -- cycle;
\node[anchor=north west,minimum width=1cm,minimum
height=1cm,draw,green!50!black] at (0,-2){};
\begin{scope}[xshift=8cm,canvas is yx plane at z=0,transform shape]
\draw[red] (0,0) rectangle (1,1);
\draw[yshift=-40,blue] (0,0) -- (1,0) -- (1,1) -- (0,1) -- cycle;
\node[anchor=north west,minimum width=1cm,minimum height=1cm,draw,green!50!black] at (0,-2){};
\end{scope}
\end{tikzpicture}
\end{document}