在 tikz 中绘制图片

在 tikz 中绘制图片

我想画一张图如下:

在此处输入图片描述

但我不知道如何开始。它由两个相连的半环$\Omega_1$和组成$\Omega_2$。有人能帮我吗?

答案1

您可以将其与Skillmon 的回答

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{arrows.meta,bending}
\begin{document}
\begin{tikzpicture}
\draw (0:4) arc(0:180:4) node[midway,above]{WALL} -- (180:0.5) node[midway,above]{$\Omega_{13}$}
 arc (180:0:0.5)
 node[midway,above]{$\Omega_{11}$}-- cycle node[midway,above]{$\Omega_{34}$};
\draw (0,0) -- (35:4);
\draw[-{Latex[bend]}] (1.5,0) arc(0:35:1.5) node[near end,right]{$\theta$};
\draw[-Latex] (0,0) -- (70:3) node[near end,right]{$\Omega$};
\begin{scope}[yshift=-2pt,red]
 \draw (0:4) arc(0:-180:4) node[midway,below]{WATER}
  -- (-180:0.5) node[midway,below]{$\Omega_{23}$}
  arc(-180:0:0.5)
  node[midway,below]{$\Omega_{21}$} -- cycle node[midway,below]{$\Omega_{24}$};
 \draw (0,0) -- (-35:4);
 \draw[-{Latex[bend]}] (3,0) arc(0:-35:3) node[midway,right]{$\varphi$};
 \foreach \X in {1.75,2.25,2.75}
 {\draw[-Latex] (1,-\X) -- (-1,-\X);}
\end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

为了帮助你开始,我画了一个 PokeBall:

编辑:修复一些问题,一些计算是错误的(至少基于变量的名称)。

\documentclass[tikz,border=3.14]{standalone}

\pgfkeys
  {%
    /tikz/kim/.cd
    ,gap/.initial=.02cm
    ,radius/.initial=1cm
    ,inner/.initial=.2cm
  }
\newcommand*\kimvalue[1]{\pgfkeysvalueof{/tikz/kim/#1}}

\begin{document}
\begin{tikzpicture}
  \pgfmathsetmacro\kimAngleI{asin(\kimvalue{gap}/\kimvalue{inner})}
  \pgfmathsetmacro\kimAngleO{asin(\kimvalue{gap}/\kimvalue{radius})}
  \draw[red]
    ({180+\kimAngleO}:\kimvalue{radius})
    arc
      [%
        start angle={-180+\kimAngleO},
        end angle={-\kimAngleO},
        radius=\kimvalue{radius}
      ]
    -- ({-\kimAngleI}:\kimvalue{inner})
    arc
      [%
        start angle={-\kimAngleI},
        end angle={-180+\kimAngleI},
        radius=\kimvalue{inner}
      ]
    -- cycle
    ;
  \draw
    ({180-\kimAngleO}:\kimvalue{radius})
    arc
      [%
        start angle=180-\kimAngleO,
        end angle=\kimAngleO,
        radius=\kimvalue{radius}
      ]
    -- ({\kimAngleI}:\kimvalue{inner})
    arc
      [%
        start angle=\kimAngleI,
        end angle=180-\kimAngleI,
        radius=\kimvalue{inner}
      ]
    -- cycle
    ;
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容