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

Öffne in Overleaf
%\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 '16, 10:10

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

bearbeitet 13 Aug '18, 12:10

gast3's gravatar image

gast3
(ausgesetzt)

Mit der fillbetween-Library.

(13 Aug '16, 14:38) Henri

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

(14 Aug '16, 06: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, 22:39

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

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:

×731
×12
×5

gestellte Frage: 13 Aug '16, 10:10

Frage wurde gesehen: 9,870 Mal

zuletzt geändert: 14 Aug '16, 22:39