Funktionsstruktur nachbauen

Tabellen und Grafiken erstellen und anordnen


kannstmasehn
Forum-Century
Forum-Century
Beiträge: 165
Registriert: Mo 5. Mai 2014, 16:55

Funktionsstruktur nachbauen

Beitrag von kannstmasehn »

Hallo,

ich möchte das angehängte Funktionsdiagramm ungefähr nachbauen. Bisher bin ich so weit gekommen:
\documentclass[tikz,14pt,border=10pt]{standalone}
\usetikzlibrary{shapes,arrows}

\begin{document}
\tikzset{%
    block/.style    = {draw, rectangle, minimum height = 3em,
        minimum width = 3em},
    gain/.style     = {draw, isosceles triangle, minimum height = 3em,
        isosceles triangle apex angle=60},
    sum/.style n args = {4}{draw, circle, node distance = 2cm, minimum size=5mm, alias=sum,
    },
}

    \begin{tikzpicture}[auto, node distance=2cm, >=triangle 45]

	\node [](stoff) {Stoff};
	\node [right of = stoff,sum] (11) {St};
	\node [right of = 11,gain] (12) {St};
	\node [right of = 12,block] (13) {St};
	\node [right of = 13,sum] (14) {St};
	
	\node [below of = stoff](energie) {Energie};
	\node [right of = energie,sum] (21) {E};
	\node [right of = 21,gain] (22) {E};
	\node [right of = 22,gain] (23) {E};
	\node [right of = 23,block] (24) {E};
	
	\node [below of = energie](information) {Information};
	\node [right of = information,sum] (31) {I};	


	\draw[->](11) -- node {} (12);
	\draw[->](12) -- node {} (13);
	\draw[->](13) -- node {} (14);

	\draw[->](21) -- node {} (22);
	\draw[->](22) -- node {} (23);
	\draw[->](23) -- node {} (24);
	
	\draw[->](31) -- node {} (22);
	\draw[->](24) -- node {} (12);
 
\end{tikzpicture}
\end{document}

Problematisch sind noch:

1) die Pfeile, die von einer Zeile zur anderen wechseln, diese sollen an definierten Stellen eines Rechteckes, Kreises oder Dreieckes beginnen bzw. aufhören
2) die Linien der Pfeile sollen nicht direkt zum Endpunkt gehen, sondern wie in der Struktur vorgegeben über Ecken
3) Schön wäre auch eine Ausrichtung der Blöcke z.B. nach einem Dreieck

Wie kann ich diese Punkte am einfachsten realisieren?

Vielen Dank im Voraus!

Viele Grüße
Dateianhänge
IMG_20161012_112655.jpg
IMG_20161012_112655.jpg (1.21 MiB) 1370 mal betrachtet

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Bild

Mein Ansatz zur Erfüllung Deines zweiten Wunsches mag nicht elegant sein, aber bringt Dich eventuell Deinem Ziel etwas näher.
\documentclass[tikz,border=10pt]{standalone}

\usetikzlibrary{shapes,arrows,positioning}

\tikzset{font=\sffamily}

\begin{document}
\begin{tikzpicture}[
    auto, 
    node distance=2cm, 
    >=triangle 45,
    block/.style = {
        draw, 
        rectangle, 
        minimum height = 3em,
        minimum width = 3em
    },
    gain/.style = {
        draw, 
        isosceles triangle, 
        minimum height = 3em,
        isosceles triangle apex angle=60
    },
    sum/.style n args = {4}{
        draw, 
        circle, 
        node distance = 2cm, 
        minimum size=5mm, 
        alias=sum
    },
    leftlabel/.style = {
        text width = 5mm,
        align=left
    }
]

\node [leftlabel] (stoff) {Stoff};
\node [right = of stoff,sum] (11) {St};
\node [right = of 11,gain, yshift=-2mm] (12) {St};
\node [right = of 12,block] (13) {St};
\node [right = of 13,sum] (14) {St};
   
\node [below = of stoff, leftlabel](energie) {Energie};
\node [right = of energie,sum] (21) {E};
\node [right = of 21,gain, yshift=-2mm] (22) {E};
\node [right = of 22,gain] (23) {E};
\node [right = of 23,block] (24) {E};
   
\node [below = of energie, leftlabel](information) {Information};
\node [right = of information,sum] (31) {I};   


\draw[->](11.east) |- ([yshift=15mm]12);
\draw[->](12) -- (13);
\draw[->](13) -- (14);

\draw[->](21.east) |- ([yshift=15mm]22);
\draw[->](22) -- (23);
\draw[->](23) -- (24);
   
\draw[->](31.east) -- ++ (1.5,0) |- ([yshift=-.8cm]22);
\draw[->](24.east) -- ++ (.5,0) -- ++ (0,1.5) -- ++ (-8.3,0) |- ([yshift=-3mm]12.west);
\end{tikzpicture}
\end{document}
Dateianhänge
Funktionsdiagramm.jpg
Funktionsdiagramm.jpg (347.27 KiB) 1304 mal betrachtet
Zuletzt geändert von Bartman am Fr 14. Okt 2016, 23:54, insgesamt 1-mal geändert.

kannstmasehn
Forum-Century
Forum-Century
Beiträge: 165
Registriert: Mo 5. Mai 2014, 16:55

Beitrag von kannstmasehn »

Schaut super aus! Vielen vielen Dank und ein schönes Wochenende!

Antworten