坐标变换对于一个图形系统来说非常重要,我们主张学习一个图形系统的第一步 先看简介,看看怎么把它纳入到格式比如说LaTeX中来,第二步要看坐标系统,这是 绘制的基础。第三部就是坐标变换,在图形一开始设置好必要的变换,绘图就可以用 真实世界坐标了。
在xy-和xyz-系统中,x向量是向右1cm,y向量是向上1cm,z向量的是(-1/sqrt(2),-1/sqrt(2))。 如果想改变,可以用选项
x=值其中值可以是长度,比如
y=值
z=值
\tikz \draw[x=1.5cm] (0,0) grid (2,2);这时向量的方向不变,只改变模。值还可以是坐标,比如
\begin{tikzpicture}它指定了新的向量。
\draw (0,0) -- (1,0);
\draw[x={(2cm,0.5cm)},color=red] (0,0) -- (1,0);
\end{tikzpicture}
选项
shift={坐标}表示平移到“坐标”,比如
\begin{tikzpicture}选项
\draw[help lines] (0,0) grid (3,2);
\draw (0,0) -- (1,1) -- (1,0);
\draw[shift={(1,1)},blue] (0,0) -- (1,1) -- (1,0);
\draw[shift={(30:1cm)},red] (0,0) -- (1,1) -- (1,0);
\end{tikzpicture}
shift only没有参数,表示撤销其它变换,只留下平移。x轴方向 和y轴方向上的平移由选项
xshift=长度表示。
yshift=长度
缩放用选项
scale=x轴方向上和y轴方向上的缩放因子如果缩放的中心不在原点,可以用
xscale=x轴方向上的缩放因子
yscale=y轴方向上的缩放因子
scale around=缩放因子:缩放中心指定新的中心。比如
\begin{tikzpicture}
\draw[help lines] (0,0) grid (3,2);
\draw (0,0) -- (1,1) -- (1,0);
\draw[scale=2,blue] (0,0) -- (1,1) -- (1,0);
\draw[scale around={2:(1,1)},red] (0,0) -- (1,1) -- (1,0);
\end{tikzpicture}
倾斜可以用选项
xslant=x轴方向上的倾斜因子
yslant=y轴方向上的倾斜因子
旋转可以用选项
rotate=角度改变旋转中心的旋转用选项
rotate around=角度:坐标“坐标”指定了新的旋转中心。比如
\begin{tikzpicture}
\draw[help lines] (0,0) grid (3,2);
\draw (0,0) -- (1,1) -- (1,0);
\draw[rotate around={40:(1,1)},blue] (0,0) -- (1,1) -- (1,0);
\draw[rotate around={-20:(1,1)},red] (0,0) -- (1,1) -- (1,0);
\end{tikzpicture}
一次指定所有变换的方法是使用选项
cm={a,b,c,d,坐标}其中“坐标”表示平移位置,其它四项就是二阶变换矩阵的四项。如果要将变换矩阵 恢复为恒等矩阵,可以用选项
reset cm
如果对画布,也就是我们的绘制区域进行变换,可以用选项
transform canvas={变换选项}比如
\begin{tikzpicture}
\draw[help lines] (0,0) grid (3,2);
\draw (0,0) -- (1,1) -- (1,0);
\draw[transform canvas={scale=2},blue] (0,0) -- (1,1) -- (1,0);
\draw[transform canvas={rotate=180},red] (0,0) -- (1,1) -- (1,0);
\end{tikzpicture}