如何在 TikZ 中从圆形节点绘制一条长度l
为 且角度为 的线?a
N
答案1
您可以使用 访问节点周围的点,<node name.angle>
例如,a.50
将为您提供节点边界上a
与 50 度成一定角度的点。此外,您可以绘制一条长度为 cm 的线,该线与 度l
成一定角度。t
(t:lcm)
\documentclass[tikz,margin=10pt]{standalone}
\begin{document}
\begin{tikzpicture}
\node[draw,circle] at (0,0) (a) {N};
%% draw a line of 2cm length from the border of node a at an angle 50. The line is having a slope of tan(50).
\draw (a.50) -- (50:2cm);
\end{tikzpicture}
\end{document}
画很多线条,化一些妆 ;-)
\documentclass[tikz,margin=10pt]{standalone}
\begin{document}
\begin{tikzpicture}
\node[circle] at (0,0) (a) {N};
\foreach \angle in {5,10,...,360}{%
\draw (a.\angle) -- (\angle:2cm);
}
\end{tikzpicture}
\end{document}
还有一些动画:
\documentclass[tikz,margin=10pt]{standalone}
\begin{document}
\foreach \angle in {1,2,...,360}{%
\begin{tikzpicture}
\path (-2,-2.3) rectangle (2,2.3); %% pad some bounding box
\node[circle] at (0,0) (a) {N};
\draw (a.-\angle) -- (-\angle:2cm);
\end{tikzpicture}
}
\end{document}
答案2
您还可以使用pins
:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node [circle,draw,pin={[pin distance=2cm,pin edge={blue,thick}]330:$P_1$},
pin=60:$P_2$] at (0,0) {N};
\end{tikzpicture}
\end{document}
PinP1
代表默认行为:一定长度的灰色线条,而 pinP2
是自定义的。长度用 来设置pin distance
,而pin edge
可以让你定义颜色、粗细,可以让你添加箭头甚至装饰路径(例如蛇形路径)。在这两种情况下,冒号前面:
都是定义线条斜率的角度。