箭头表示停止流程的事件

箭头表示停止流程的事件

有问题

我想用 来arrows.meta解释“事件”(用 表示Rays)会随着时间推移停止箭头所表示的“流动”。到目前为止,我几乎得到了我想要的,但是...

在此处输入图片描述在此处输入图片描述

...但我怎么能

  1. 从 Rays 到 Tee Barb 的部分dotted
  2. 从 Rays 到 Tee Barb 的部分是空的,就像视觉TikZ,第 22 页(页面底部)?
  3. A相对的放置(即按百分比更精确地对齐,相当于midwaypos=.5)射线(而sep=0.50cm不是与line width=.1cm)。

在此处输入图片描述

平均能量损失

\documentclass[tikz]{standalone}
\usetikzlibrary{arrows.meta}

\begin{document}

\tikz 
\draw[-{Tee Barb},line width=.1cm,blue] (0,0) - - (1.5,1) ;
\tikz
\draw[-{Rays[n=8,sep=0.50cm, orange] },line width=.1cm,blue] (0,0) - - (1.5,1) ;

%-------- position of Rays vary in cm, not in relative to
\tikz
\draw[-{Rays[n=8,sep=0.10cm, orange] },line width=.1cm,blue] (0,0) - - (1.5,1) ;
\tikz
\draw[-{Rays[n=8,sep=0.50cm, orange] },line width=.1cm,blue] (0,0) - - (1.5,1) ;
\tikz
\draw[-{Rays[n=8,sep=0.90cm, orange] },line width=.1cm,blue] (0,0) - - (1.5,1) ;

\end{document}

答案1

第二个问题的答案是“添加一个点”,因此您需要-{Rays[n=8,sep=0.50cm, orange].Tee Barb}。要解决第一个和第三个问题,可以定义一个带有预处理功能的样式。可以使用 将其设置为一种样式\ifpgfmathunitsdeclared。如果第二个参数有单位,则实线将缩短该距离。如果没有单位,则将绘制到线的相应部分。请注意,这计算了到箭头尖端的距离。

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{arrows.meta,calc,decorations.pathreplacing}
\tikzset{event stopping/.style 2 args={decorate,
decoration={show path construction, 
moveto code={},
lineto code={
\draw[#1,dashed,-{Tee Barb}] (\tikzinputsegmentfirst) --  (\tikzinputsegmentlast);
\pgfmathparse{#2}%
\ifpgfmathunitsdeclared
\draw[#1,-{Rays[n=8,orange]},shorten >=#2] (\tikzinputsegmentfirst) --  (\tikzinputsegmentlast);
\else
\draw[#1,-{Rays[n=8,orange]},shorten >=0pt] (\tikzinputsegmentfirst) 
 --  ($(\tikzinputsegmentfirst)!#2!(\tikzinputsegmentlast)$);
\fi
},
curveto code={},
closepath code={},
}}}

\usetikzlibrary{arrows.meta}

\begin{document}
\begin{tikzpicture}
 \begin{scope}
  \draw[-{Rays[n=8,sep=0.50cm, orange].Tee Barb},line width=.1cm,blue] 
   (0,0) -- (1.5,1);
 \end{scope}  
 \begin{scope}[xshift=2cm]
  \draw[event stopping={line width=.1cm,blue}{0.5cm}]  (0,0) -- (1.5,1);
 \end{scope}  
 \begin{scope}[xshift=4cm]
  \draw[event stopping={line width=.1cm,blue}{0.6}]  (0,0) -- (1.5,1);
 \end{scope}  
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容