Wie kann ich den Bereich zwischen drei Kreisen einfarbig füllen?

Öffne in Overleaf
\documentclass[a4paper,12pt]{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [color=red] (5,9) circle (5cm);
\draw [color=blue] (1.5359,3) circle (5cm);
\draw [color=green] (8.4641,3) circle (5cm);
\end{tikzpicture}
\end{document}

alt text

gefragt 13 Jan '17, 12:59

vague_creature's gravatar image

vague_creature
2111426
Akzeptiert-Rate: 0%

bearbeitet 14 Jan '17, 12:52

saputello's gravatar image

saputello
10.8k103963


Das geht mit dem Clipping, das pgf bietet:

Öffne in Overleaf
\documentclass[a4paper,12pt]{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [color=red] (5,9) circle (5cm);
\draw [color=blue] (1.5359,3) circle (5cm);
\draw [color=green] (8.4641,3) circle (5cm);
\clip (5,9) circle (5cm);% Zeichnen auf den Inhalt des ersten Kreises beschränkten
\clip (1.5359,3) circle (5cm);% Zeichnen weiter auf den Inhalt des zweiten Kreises beschränken
% Zeichnen ist nun auf die Schnittmenge des ersten und zweiten Kreises beschränkt
\draw [fill=black] (8.4641,3) circle (5cm);% dritten Kreis füllen
% Da das Zeichnen auf die Schnittmenge des ersten und zweiten Kreises beschränkt war, wird nur die Schnittmenge des dritten Kreises mit dieser Schnittmenge gefüllt
\end{tikzpicture}
\end{document}

gefüllte schnittmenge

Permanenter link

beantwortet 13 Jan '17, 13:48

Ijon%20Tichy's gravatar image

Ijon Tichy
9.6k31227
Akzeptiert-Rate: 53%

bearbeitet 13 Jan '17, 14:15

Die Antwort von Ijon Tichy funktioniert natürlich hervorragend, damit man sich aber nicht so oft wiederholen braucht bei den Pfaden kann man sie mit Hilfe des Paketes spath3 auch einfach abspeichern und bei Bedarf wieder laden.

Öffne in Overleaf
\documentclass{article}
\usepackage{tikz}
\usepackage{spath3}
\begin{document}
\begin{tikzpicture}[scale=.5]
  \draw[red  ,save spath=red  ] (5,9) circle (5cm);
  \draw[blue ,save spath=blue ] (1.5359,3) circle (5cm);
  \draw[green,save spath=green] (8.4641,3) circle (5cm);

  % Clip all
  \foreach \p in {red, green, blue}
    \clip[restore spath=\p];

  % Fill one of them
  \draw[fill=black,restore spath=green];
\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 13 Jan '17, 15:04

Henri's gravatar image

Henri
14.6k53340
Akzeptiert-Rate: 46%

bearbeitet 13 Jan '17, 15:04

Alternativ zu \clip kann man auch path picture verwenden. Das hat den Vorteil, dass die Füllung ohne Verwendung von Layern unter den Linie erfolgen kann und man kein scope braucht, um das Beschneiden des Zeichenbereichs lokal zu halten.

Mit dem von Henri vorgeschlagenen Paket:

Öffne in Overleaf
\documentclass{standalone}
\usepackage{tikz}
\usepackage{spath3}
\begin{document}
\begin{tikzpicture}[scale=.5,line width=1mm]
  \draw[red]
    [path picture={% Einschränkung auf roten Kreis
      \path[save spath=blue]
        [path picture={% Einschränkung auf blauen Kreis
          \fill[lightgray,save spath=green]% Füllen der Schnittfläche
            (8.4641,3) circle (5cm);}]
       (1.5359,3) circle (5cm);}]
    (5,9) circle (5cm);
  \draw[blue,restore spath=blue];
  \draw[green,restore spath=green];
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 13 Jan '17, 21:28

esdd's gravatar image

esdd
15.9k164055
Akzeptiert-Rate: 63%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×688
×12
×7

gestellte Frage: 13 Jan '17, 12:59

Frage wurde gesehen: 4,725 Mal

zuletzt geändert: 13 Jan '17, 21:32