Wie fülle ich am besten eine oder mehrere dieser Teilflächen farbig, die teils durch Schnittpunkte festgelegt werden?

alt text

Mit \usepgfplotslibrary{fillbetween}, hier entdeckt, schaffe ich es grad nur die oberen Kreissegmente zu füllen. Was muss ich anders machen.

alt text

Open in Online-Editor
%\documentclass[border=15mm, varwidth]{standalone}
\documentclass{scrreprt}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc} 
\usepackage{microtype}

\usepackage{tikz}
    \usetikzlibrary{shapes}
    \usetikzlibrary{intersections}

\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
%\usepackage{mwe}
%=========
\begin{document}
%=========

\begin{tikzpicture}[
scale=0.5,
%outer sep=0pt, inner sep=0pt,
%QUADRAT/.style={},
]

% Für fillbetween
%\pgfdeclarelayer{pre main}
%\pgfsetlayers{pre main,main}
%

% Größen
\def\a{10cm}
\pgfmathsetmacro{\W}{sqrt(2)/2}

% Orientierungsfiguren
%\draw[red, fill] (0,0) circle[radius=5pt];
%\draw[brown] (0,0)--(0.5*\a,0);
%\fill[cyan] (\a,\a) circle[radius=5pt];
%\fill[] (2*\a,0.5*\a) circle[radius=5pt];

% Gesamtes Rechteck
\draw[name path=Rechteck] (0,0) rectangle (2*\a,\a);

% Figur inks
\path[name path=QuadratLINKS] (0,0) rectangle (\a,\a);
\draw[name path=KreisLINKS] (0.5*\a,0.5*\a) circle[radius=0.5*\a];

% Figur rechts
\path[name path=QuadratRECHTS] (\a,0) rectangle (2*\a,\a);
\draw[name path=KreisRECHTS] (1.5*\a,0.5*\a) circle[radius=0.5*\a];

% Diagonale
\draw[name path=DIAGONALE] (0,0) -- (2*\a,\a);

% Beschriftung
%\node[right] at (2*\a,0.5*\a) {$a$};
%\node[below] at (0.9*\a,0) {$2a$};

% Schnittpunkte links
%\fill [red,  name intersections={of=KreisLINKS and DIAGONALE}]
%(intersection-1) circle (2pt) node {1}
%(intersection-2) circle (2pt) node {2};

% Schnittpunkte rechts
\fill [red,  name intersections={of=KreisRECHTS and DIAGONALE}]
(intersection-1) circle (2pt) node {3}
(intersection-2) circle (2pt) node {4};

%% Für fillbetween
% Kreissegment OR füllen
\path [draw,blue, fill, 
name path=3and4,
intersection segments={
of=KreisRECHTS and DIAGONALE,
sequence={A1 -- B1} %[reverse]
}];

% Kreissegment OL füllen
\path [draw, orange, fill, 
name path=1and3,
intersection segments={
of=KreisLINKS and DIAGONALE,
sequence={A1 -- B1} %[reverse]
}];

%\pgfonlayer{pre main}
%\fill [
%blue!40!white,
%intersection segments={
%of=3and4 and KreisRECHTS,
%sequence={A1 -- B1[reverse]}, %
%}
%];
%\endpgfonlayer
%
\end{tikzpicture}
%=========
\end{document}
%=========

gefragt 13 Aug, 04:10

cis's gravatar image

cis
5.4k860168
Akzeptiert: 68%

bearbeitet 14 Aug, 00:07

Mit der fillbetween-Library.

(13 Aug, 08:38) Henri

OK, damit komme ich schonmal etwas weiter - siehe edit.

(14 Aug, 00:08) cis

Hier ist mal ein Vorschlag bei der auf dem Clippen passender Bereiche beruht:

Open in Online-Editor
\documentclass[border=15mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}[
  scale=0.5,
  very thick,
  fill opacity=.5
]
\pgfdeclarelayer{pre main}
\pgfsetlayers{pre main,main}
% Größen
\newcommand\D{10cm}
\tikzset{
  KreisLinks/.style={insert path={(.5*\D,.5*\D)circle[radius=.5*\D]}},
  KreisRechts/.style={insert path={(1.5*\D,.5*\D)circle[radius=.5*\D]}},
  Diagonalendreieck/.style={insert path={(0,0)--+(2*\D,\D)--+(2*\D,0)--cycle}},
  reverseclip/.style={insert path={(current bounding box.south west)rectangle(current bounding box.north east)}}
}

% Gesamtes Rechteck
\draw[name path=Rechteck](0,0) rectangle +(2*\D,\D);
% Kreis links
\draw[
  path picture={\fill[orange][Diagonalendreieck];},
  name path=KreisLinks
] [KreisLinks];
% Kreis rechts
\draw[
  path picture={\fill[blue][Diagonalendreieck];},
  name path=KreisRechts
] [KreisRechts];
%Diagonale
\draw (0,0) -- +(2*\D,\D);

% Schnittpunkte Kreise mit Rechtecken
\path [name intersections={of=KreisLinks and Rechteck,name=KL}];
\path [name intersections={of=KreisRechts and Rechteck,name=KR}];
% Füllen der Teilflächen
\pgfonlayer{pre main}
  \begin{scope}
    \clip[Diagonalendreieck];
    \begin{scope}
      \clip(KL-2)rectangle(KL-3);
      \fill[red]
        [reverseclip]
        [KreisLinks]
      ;
    \end{scope}
    \begin{scope}
      \clip(KL-3)rectangle(KR-2-|KR-3);
      \fill[brown]
        [reverseclip]
        [KreisLinks]
        [KreisRechts]
      ;
    \end{scope}
    \begin{scope}
      \clip(KR-3)rectangle(KR-2);
      \fill[green]
        [reverseclip]
        [KreisRechts]
      ;
    \end{scope}
  \end{scope}
  \begin{scope}
    \clip(KR-1)rectangle(KR-2);
    \fill[yellow]
      [reverseclip]
      [KreisRechts]
    ;
  \end{scope}
\endpgfonlayer
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 14 Aug, 16:39

esdd's gravatar image

esdd
14.2k53251

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×3

Frage gestellt: 13 Aug, 04:10

Frage wurde angeschaut: 446 Mal

Zuletzt aktualisiert: 14 Aug, 16:39