我想画一幅图来说明为什么在绕某个点旋转时不变的矢量场在二维中不一定是径向的,而是做在 3D 中需要是径向的。这个问题将集中在 2D 部分。目前,我有:
\begin{tikzpicture}
\draw (0,0) circle (2cm);
\draw[->] (-2,0) -- (-2.5,0.25);
\draw[->] (-1.75,0.9682) -- (-2.1049,1.4001);
\end{tikzpicture}
所以我有一个圆,我想有更多与第一个圆长度相同、相对于径向角度与第一个圆相同的微小矢量。如何让 TikZ 计算圆上矢量的起点和终点?更准确地说,我希望每 1/4 厘米有一个,所以我有一个起始广告 (-2,0) 和一个 (-1.75,…),我需要 (-1.5,…),(-1.25,…),(-1,…),(-0.75,…),(-0.5,…),(-0.25,…),(0,2),(0.25,…),(0.5,…),(0.75,…),(1,…),(1.25,…),(1.5,…),(1.75,…),(2,0) 处的矢量,具有正负 y 坐标。
答案1
你是指这样的吗?
这将使径向矢量偏移指定的量\offset
:
笔记:
- 根据@Bordaigorl 的建议,我画了
circle
后径向向量可产生更好的线条质量,因为圆位于径向向量的顶部。
代码:
\documentclass{article}
\usepackage{tikz}
\tikzset{radial vector/.style={thick, blue, -latex}}
\begin{document}
\begin{tikzpicture}
\newcommand{\offset}{10}
\foreach \x in {0,30,...,180} {
\draw[radial vector] (\x:2cm) -- (\x+\offset:2.5cm);
}
\draw [thick] (0,0) circle (2cm);
\end{tikzpicture}
\end{document}
答案2
您也可以使用rotate around = {<angle>: (<x>, <y>)}
。
\documentclass{article}
\usepackage{tikz}
\tikzset{radial vector/.style={thick, blue, -latex}}
\begin{document}
\begin{tikzpicture}
\newcommand{\offset}{40}
\foreach \x in {0,30,...,180} {
\draw[radial vector,rotate around={\offset:(\x:2cm)}] (\x:2cm) -- (\x:2.5cm);
}
\draw [thick] (0,0) circle (2cm);
\end{tikzpicture}
\end{document}