Нарисуйте круглый узел с синусоидой внутри, чтобы символ напоминал короткую синусоиду.

Нарисуйте круглый узел с синусоидой внутри, чтобы символ напоминал короткую синусоиду.

Как это сделать в 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}

введите описание изображения здесь

Связанный контент