我是 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
这里A
和b
是您可以看到的转换元素
[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}