画一个圆形节点,里面有一个正弦曲线,类似于短正弦波的符号

画一个圆形节点,里面有一个正弦曲线,类似于短正弦波的符号

我如何在 TikZ 中做到这一点:
我想绘制一个带有正弦曲线的圆形节点,以类似于短正弦波的符号,如以下链接中所示的图表所示。我可以画一个圆圈,但我不知道如何将正弦曲线放在里面。 图表

答案1

一个简单的方法是使用path picture。使用一些额外的魔法,可以设置路径图片,因此(-1,-1)是图片的左下角,(1,1)是图片的右上角。这使得指定路径图片元素变得非常简单。

\documentclass[tikz,border=5]{standalone}
\tikzset{%
  do path picture/.style={%
    path picture={%
      \pgfpointdiff{\pgfpointanchor{path picture bounding box}{south west}}%
        {\pgfpointanchor{path picture bounding box}{north east}}%
      \pgfgetlastxy\x\y%
      \tikzset{x=\x/2,y=\y/2}%
      #1
    }
  },
  sin wave/.style={do path picture={    
    \draw [line cap=round] (-3/4,0)
      sin (-3/8,1/2) cos (0,0) sin (3/8,-1/2) cos (3/4,0);
  }},
  cross/.style={do path picture={    
    \draw [line cap=round] (-1,-1) -- (1,1) (-1,1) -- (1,-1);
  }},
  plus/.style={do path picture={    
    \draw [line cap=round] (-3/4,0) -- (3/4,0) (0,-3/4) -- (0,3/4);
  }}
}
\begin{document}
\begin{tikzpicture}[minimum size=0.75cm]
\node [circle, draw, sin wave] at (-1, 0) {};
\node [circle, draw, plus]     at ( 0, 0) {};
\node [circle, draw, cross]    at ( 1, 0) {};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

您可以将正弦曲线作为 tikz 图片放入节点内。

\begin{tikzpicture}
\node[draw,circle,inner sep=-0.4pt] at (0,0)
{\tikz \draw[scale=0.15,domain=-3.141:3.141,smooth,variable=\t]
plot (\t,{sin(\t r)});};
\end{tikzpicture}

在此处输入图片描述

相关内容