I am trying to fill the region enclosed by three circumferences (the little one in the middle) using TikZ or Tkz-Euclide but I am unable to do so, even after looking at several examples.

Three Circles

Here's my 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}

For reference, I have consulted the following similar questions:

Filling a complex region with TikZ

Filling in an area enclosed by two arcs and a line

Filling region between two \draw Tikz

Filling a region in Tikz

How to color a region?

up vote 6 down vote accepted

A solution using \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}

filldraw

  • 3
    +1 Was just about to post an almost identical answer except for the unnecessary coordinates. Try :\fill[blue] ($(A)!0.5!(B)$) arc(0:60:1) arc(-120:-60:1) arc(120:180:1);. – marmot Sep 24 at 2:04
  • @marmot Aha! I just learned that arc’s can be joined together this way. Will update my answer. ;) – Ruixi Zhang Sep 24 at 2:06
  • Thank you for the help. This not only solved my problem but, after some thought, helped me solve another similar problem. – Mark Fantini Sep 24 at 2:44

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.