PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schnittmengen diagramm



intkap
11-01-2011, 13:37
Hallo zusammen,

habe ein Problem. Will die Schnittmenge in der Zeichnung rot faerben. aber irgendwie klappt das nur bedingt. Die Schnittmenge firstcircle und thirdcircle will einfach nicht.

koennte mir da bitte einer weiterhelfen?

Danke im voraus!


\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,backgrounds}
\pagestyle{empty}
\usepackage{pdflscape}
\usepackage{geometry}
\geometry{left=10mm,right=0mm, top=1cm, bottom=0cm}

\def\firstcircle{(0,-8) ellipse (6cm and 5cm)}
\def\thirdcircle{(7,-8cm) ellipse (6cm and 5cm)}
\def\secondcircle{(3.5,-4cm) ellipse (6cm and 5cm)}
\def\fourthcircle{(3.5cm,-4cm) ellipse (6cm and 5cm)}
\begin{document}
\begin{landscape}
\thispagestyle{empty}
\begin{tikzpicture}
\centering
\begin{scope}[fill opacity=0.4]
\fill[green] \firstcircle;
\fill[yellow] \secondcircle;
\fill[blue] \thirdcircle;


\clip \firstcircle \thirdcircle;


\fill[opacity=1,red] \fourthcircle;

\end{scope}
\draw[very thick] \firstcircle node at (-2,-8) {$Fuel~Cells$};
\draw[very thick] \secondcircle node at (3.5,-1) {$Product~Synthesis~\&~Waste~Recovery$};
\draw[very thick] \thirdcircle node at (9,-8) {$Batteries$};
\draw[very thin] \fourthcircle node at (3.5,-7) {\Large $\textbf{Hybrid~Systems}$};
\end{tikzpicture}

\end{landscape}
\end{document}

esdd
11-01-2011, 18:32
Hallo,

meinst Du so:


\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,backgrounds}
\pagestyle{empty}
\usepackage{pdflscape}
\usepackage{geometry}
\geometry{left=10mm,right=0mm,top=1cm,bottom=0cm}

\def\firstcircle{(0,-8) ellipse (6cm and 5cm)}
\def\secondcircle{(3.5,-4cm) ellipse (6cm and 5cm)}
\def\thirdcircle{(7,-8cm) ellipse (6cm and 5cm)}

\begin{document}

\begin{landscape}
\thispagestyle{empty}
\begin{tikzpicture}
\centering
\begin{scope}[fill opacity=0.4]
\fill[green] \firstcircle;
\fill[yellow] \secondcircle;
\fill[blue] \thirdcircle;
\clip \firstcircle;
\clip \thirdcircle;
\fill[opacity=1,red] \secondcircle;
\end{scope}
\draw[very thick] \firstcircle node at (-2,-8) {$Fuel~Cells$};
\draw[very thick] \secondcircle%
node at (3.5,-1) {$Product~Synthesis~\&~Waste~Recovery$}%
node at (3.5,-7) {\Large $\textbf{Hybrid~Systems}$};
\draw[very thick] \thirdcircle node at (9,-8) {$Batteries$};
\end{tikzpicture}
\end{landscape}
\end{document}

Grüße
Elke

intkap
12-01-2011, 01:13
Danke, aber nein, das ist nicht das wonach ich gefragt habe.
Alle schnittflaechen sollten rot sein. Also auch dort wo sich nur zwei Kreise ueberlappen.

Waere echt gleucklich und dankbar, wenn man das hier loesen koennte.

Danke,

Schwan

esdd
12-01-2011, 09:15
Hallo,

also dann vermutlich so:



\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{scopes}%{[]...} statt \begin scope[] ... \end{scope}
\pagestyle{empty}
\usepackage{pdflscape}
\usepackage{geometry}
\geometry{left=10mm,right=0mm,top=1cm,bottom=0cm}

\def\firstcircle{(0,-8) ellipse (6cm and 5cm)}
\def\secondcircle{(3.5,-4) ellipse (6cm and 5cm)}
\def\thirdcircle{(7,-8) ellipse (6cm and 5cm)}

\begin{document}

\begin{landscape}
\thispagestyle{empty}
\begin{tikzpicture}
{[fill opacity=0.4]
\fill[green] \firstcircle;
\fill[yellow] \secondcircle;
\fill[blue] \thirdcircle;
}
{[]\clip \firstcircle;\fill[red] \secondcircle \thirdcircle;}
{[]\clip \secondcircle;\fill[red] \thirdcircle;}
{[very thick]
\draw\firstcircle node at (-2,-8) {$Fuel~Cells$};
\draw\secondcircle%
node at (3.5,-1) {$Product~Synthesis~\&~Waste~Recovery$}%
node at (3.5,-7) {\Large $\textbf{Hybrid~Systems}$};
\draw \thirdcircle node at (9,-8) {$Batteries$};
}
\end{tikzpicture}
\end{landscape}
\end{document}


Grüße
Elke

intkap
12-01-2011, 09:27
WOW, das is es!

kannst du mir vielleicht auch erklaeren wie du auf die Loesung gekommen bist, bzw. den code erklaeren?

Danke

esdd
12-01-2011, 13:48
Hallo,

wenn \clip innerhalb einer scope-Umgebung (bzw. {[]...}) verwendet wird, endet dessen Wirkung mit dem Ende der scope-Umgebung. In der zweiten scope-Umgebung kannn damit ein anderer Clipbereich festgelegt werden, der auch nur bis zum Ende der zweiten scope-Umgebung wirksam ist. Ich habe mal noch ein paar Kommentare reingeschrieben:



\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{scopes}%{[]...} statt \begin scope[] ... \end{scope}
\pagestyle{empty}
\usepackage{pdflscape}
\usepackage{geometry}
\geometry{left=10mm,right=0mm,top=1cm,bottom=0cm}

\def\firstcircle{(0,-8) ellipse (6cm and 5cm)}
\def\secondcircle{(3.5,-4) ellipse (6cm and 5cm)}
\def\thirdcircle{(7,-8) ellipse (6cm and 5cm)}

\begin{document}

\begin{landscape}
\thispagestyle{empty}
\begin{tikzpicture}
%
{[fill opacity=0.4]% entspricht \begin{scope}[fill opacity=0.4]
\fill[green] \firstcircle;
\fill[yellow] \secondcircle;
\fill[blue] \thirdcircle;
}% entspricht \end{scope}->beendet die Wirkung von fill opacity=0.4
%
{[]% entspricht \begin{scope}
\clip \firstcircle;% Clipbereich
\fill[red] \secondcircle \thirdcircle;% Zeichnung im Clipbereich
}% entspricht \end{scope} -> beendet das Clippen
%
{[]% entspricht \begin{scope}
\clip \secondcircle;% Clipbereich
\fill[red] \thirdcircle;% Zeichnung im Clipbereich
}% entspricht \end{scope} -> beendet das Clippen
%
\draw[very thick]\firstcircle \secondcircle \thirdcircle%
node at (-2,-8) {$Fuel~Cells$}%
node at (3.5,-1) {$Product~Synthesis~\&~Waste~Recovery$}%
node at (3.5,-7) {\Large $\textbf{Hybrid~Systems}$}
node at (9,-8) {$Batteries$};
\end{tikzpicture}
\end{landscape}
\end{document}


Grüße
Elke

intkap
12-01-2011, 15:06
Super! Vielen dank, habs verstanden.