如何缩放箭头,以便缩放基于其起点?在我的示例中,您可以看到我的问题。黑色箭头应缩小百分之五十以显示红色箭头(好像 (0,2) 是原点)。相反,我得到的是蓝色箭头,因为缩放只是将所有坐标条目相乘。我尝试了两种方法,但结果相同,并无用处。您知道一种简单的方法来实现我的意图吗?谢谢!
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [thin,gray!40,step=1] (0,0) grid (4,4);
\node at (-.3,-.3){(0,0)};
\draw [->, very thick] (0,2) -- (4,4);
\draw [->, thick, red] (0,2) -- (2,3);
\draw [->, thick, blue, scale=.5] (0,2) -- (4,4);
\begin{scope}[scale=.25]
\draw [->, thick, blue] (0,2) -- (4,4);
\end{scope}
\end{tikzpicture}
\end{document}
答案1
如果我理解正确的话,你想缩小箭头的长度。这意味着
- 切换到相对坐标,即替换
(0,2) -- (4,4)
为(0,2) -- ++ (4,2)
,然后替换为 - 只需缩放该
++
作品,例如(0,2) -- ++ ([scale=0.5]4,2)
。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [thin,gray!40,step=1] (0,0) grid (4,4);
\node at (-.3,-.3){(0,0)};
\draw [->, very thick] (0,2) -- (4,4);
\draw [->, thick, red] (0,2) -- (2,3);
\draw [->, thick, blue] (0,2) -- ++ ([scale=.5]4,2);
\draw [->, thick, purple] (0,2) -- ++ ([scale=.25]4,2);
\end{tikzpicture}
\end{document}