如何仅旋转网格/防止网格旋转

如何仅旋转网格/防止网格旋转

我是 tikz 的初学者。我正在使用以下代码,以便网格也旋转,我如何防止网格旋转/我如何将网格旋转 0 。

 \begin{scope} [xshift=15 ,yshift=0, rotate=30]
     \draw[step=1, red,thin] (-1cm,-1cm) grid (1cm,1cm); 

答案1

如果我的回答比要求的更笼统一些,那么在 PDF 规范中,变换表示为仿射映射。换句话说,假设要变换的当前点是 x,y 是变换的结果,那么它们满足以下等式:

y = Ax + b

这里Ab是您可以看到的转换元素

[y1]   [ xscale | xslant ] [x1]   [xshift]
[--] = [ ------ | ------ ] [--] + [------]
[y2]   [ yslant | yscale ] [x2]   [yshift]

但是,你可以看到,因为它是一个仿射映射,所以顺序很重要

A2(A1x + b1) + b2 != A1(A2x + b2) + b1

在这个特殊情况下,由于平移部分为零(它只是一个 30 度的旋转矩阵,没有位移),我们可以再次反转 -30 度的变换,而无需位移。由于变换是 TeX 组的局部变换,因此它们处于另一个范围内,逆变换会有所帮助。

可以在手册中找到转换的相关命令。例如,要指定不带比例、倾斜和移位的完整转换,您只需使用键cm即可

\begin{tikzpicture}[cm={cos(30),sin(30),-sin(30),cos(30),(15,0)}]
  ...
\end{tikzpicture}

相关内容