如何绘制螺旋状子弹的轨迹?

如何绘制螺旋状子弹的轨迹?

在我的论文中,我想描述子弹在空中的轨迹。为了显示进动,我想使用如下图所示的图形:

在此处输入图片描述

但是原图的背景不透明,在我的论文里看起来有点丑。所以我想用TiZ 重新绘制。Tex.SE 中有谁能给出一些有关代码细节的提示吗?

答案1

欢迎使用 TeX-SE!是的,可以用 Ti 绘制这些东西Z. 我将子弹形状存储在这样一种pic位置,如果您想改变这种形状,只需要改变一次。

\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}[pics/bullet/.style={code={
\draw[#1] (-0.5,-0.2) to[out=0,in=-150] (0.5,0)  to[out=150,in=0] (-0.5,0.2) --
cycle;}},
pics/bullet/.default={fill=white},font=\sffamily]
 \begin{scope}[local bounding box=YAW]
  \draw (0,0) -- (6,0) pic[pos=0.15,rotate=180]{bullet}
  pic[pos=0.325,rotate=135]{bullet} pic[pos=0.5,rotate=180]{bullet}
  pic[pos=0.675,rotate=225]{bullet} pic[pos=0.85,rotate=180]{bullet};
 \end{scope}
 \node[below right] at (0,0|-YAW.south) {YAW};
 \begin{scope}[local bounding box=PRECESSION,yshift=-2.5cm]
  \draw plot[smooth,variable=\t,domain=0:5.05,samples=301] ({\t+0.15*sin(\t*1200)},
  {\t*cos(\t*1200)/8});
  \draw (0,0) -- (6,0) pic[pos=0.9,rotate=150]{bullet={fill=gray!50}}
  pic[pos=0.9,rotate=225]{bullet};
 \end{scope}
 \node[below right] at (0,0|-PRECESSION.south) {PRECESSION};
 \begin{scope}[local bounding box=NUTATION,yshift=-5cm]
  \draw plot[smooth,variable=\t,domain=0:360,samples=101] 
  ({1+0.6*cos(\t)+0.2*cos(10*\t)},
  {0.6*sin(\t)+0.2*sin(10*\t)});
  \draw plot[smooth,variable=\t,domain=0:360,samples=101] 
  ({4+0.7*cos(\t)+0.2*cos(10*\t)},
  {0.7*sin(\t)+0.2*sin(10*\t)});
  \fill (1,0) circle[radius=2pt] (4,0) circle[radius=2pt];
 \end{scope}
 \node[below right] at (0,0|-NUTATION.south) {NUTATION};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容