使用 Tkz-Euclide 填充受圆周限制的区域

使用 Tkz-Euclide 填充受圆周限制的区域

我正在尝试使用 TikZ 或 Tkz-Euclide 填充由三个圆周(中间的小圆周)包围的区域,但是即使看了几个例子,我仍然无法这样做。

三个圆圈

这是我的 MWE:

\documentclass[10pt]{scrartcl}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usetikzlibrary{calc,decorations.pathmorphings}

\begin{document}

\begin{tikzpicture}
\tkzDefPoints{0/0/A, 2/0/B, 1/1.73/C}
\tkzDrawCircle[R](A,1cm)
\tkzDrawCircle[R](B,1cm)
\tkzDrawCircle[R](C,1cm)
\tkzLabelPoints[below left](A)
\tkzLabelPoints[below right](B)
\tkzLabelPoints[above](C)
\tkzDrawPoints(A,B,C)
\end{tikzpicture}

\end{document}

作为参考,我曾查阅过以下类似的问题:

使用 TikZ 填充复杂区域

填充由两个圆弧和一条线围成的区域

填充两个 \draw Tikz 之间的区域

在 Tikz 中填充区域

如何为某个区域着色?

答案1

使用以下解决方案\filldraw

\documentclass[10pt]{scrartcl}

\usepackage{tikz}
\usepackage{tkz-euclide}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}
\tkzDefPoints{0/0/A, 2/0/B, 1/1.732/C}
\tkzDrawCircle[R](A,1cm)
\tkzDrawCircle[R](B,1cm)
\tkzDrawCircle[R](C,1cm)
\tkzLabelPoints[below left](A)
\tkzLabelPoints[below right](B)
\tkzLabelPoints[above](C)
\tkzDrawPoints(A,B,C)
% This is my original answer:
\filldraw[fill=red]
  ($(A)!0.5!(C)$) arc (60:0:1cm) --
  ($(B)!0.5!(A)$) arc (180:120:1cm) --
  ($(C)!0.5!(B)$) arc (-60:-120:1cm) -- cycle;
% Or a much simpler version suggested by @marmot in the comments:
% \filldraw[fill=red] ($(A)!0.5!(B)$) arc(0:60:1) arc(-120:-60:1) arc(120:180:1);
\end{tikzpicture}

\end{document}

填充绘制

相关内容