使用 TikZ 在一条线上绘制两个形状

使用 TikZ 在一条线上绘制两个形状

我怎样才能在 TikZ 中绘制这样的图片? 在此处输入图片描述

答案1

正如一条评论中提到的那样,可以在单独的 TikZ 环境中绘制两张图片。我编写了以下代码来生成所需的两张图片:

\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage{tikz}

\begin{document}
  % First circle
  \begin{tikzpicture}[very thick]
    % draw each arc, rotated by the value stored in \a, filled with the color \c
    \foreach \a/\c in {0/blue!50,90/red,180/blue!50,270/green}
        % arc from 0 degrees to 90 degrees
        \draw[fill=\c,rotate=\a] (0mm,0mm) -- (20mm,0mm) arc (0:90:20mm) -- cycle;
    % arrow 
    \draw[-latex,rotate=135](0mm,0mm) -- (15mm,0mm);
  \end{tikzpicture}

  % Second circle
  \begin{tikzpicture}[very thick]
    \foreach \a/\c in {0/red,45/blue!50,90/red,135/blue!50,180/green,225/blue!50,270/green,315/blue!50}
        \draw[fill=\c,rotate=\a] (0mm,0mm) -- (20mm,0mm) arc (0:45:20mm) -- cycle;

    \draw[-latex,rotate=67.5](0mm,0mm) --(15mm,0mm);
  \end{tikzpicture}
 \end{document}

此代码产生以下输出:在此处输入图片描述

我使用 foreach 循环分别绘制了填充的弧线,每个弧线都有自己的颜色。弧线按角度旋转\a,颜色为\c。当然,颜色和箭头形状可以事后调整。

相关内容