Guten Morgen, ich würde gerne die vier Verbindungslinien in meiner Abbildung so zeichnen, dass diese quasi einen perfekten Kreis beschreiben. Damit deutlich wird, was ich meine, habe ich im MB einen Kreis eingefügt, der quasi als Vorlage für den path der vier Verbindungslinien dienen soll. D.h. die Verbindungslinien sollen über dem Kreis liegen, damit das Ganze ein wenig runder aussieht. Anschließend kann der Kreis entfernt werden, da er ja nur zur Veranschaulichung der Soll paths dient. Vielen Dank für die Hilfe. Open in Online-Editor
\documentclass{scrbook} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[ngerman]{babel} \usepackage{pgfplots} \pgfplotsset{compat=1.9} \usepackage{tikz} \usetikzlibrary{intersections,positioning,arrows,calc,patterns,shapes.multipart,fit,backgrounds,decorations.pathreplacing} \tikzset{ pfeil/.style={semithick,->,>=stealth,shorten >=5pt,shorten <=5pt,color=black}, % Definiert den Standardpfeil, } \begin{document} \begin{tikzpicture}[ mysplit/.style={rectangle split,rectangle split parts=#1,draw,text width=4cm,minimum height=1cm,anchor=center,align=center}, myblock/.style={rectangle,draw,text width=4cm,minimum height=1cm,anchor=center,align=center}, ] % STELLSCHRAUBEN \newcommand{\abstand}{4cm} \node (circle1)[myblock]{}; \node (circlemitte)[myblock,draw=none,below=\abstand of circle1.north,anchor=center]{Mitte}; \node (circle3)[myblock,below=\abstand of circlemitte.center,anchor=south]{}; \node (circle2)[myblock,left=of circlemitte.west,anchor=east]{}; \node (circle4)[myblock,right=of circlemitte.east,anchor=west]{}; \draw [draw=red] ($(circlemitte.center)$) circle(4cm); \draw [pfeil](circle1.west) to [out=180,in=90] (circle2.north); \draw [pfeil](circle2.south) to [out=270,in=180] (circle3.west); \draw [pfeil](circle3.east) to [out=0,in=270] (circle4.south); \draw [pfeil](circle4.north) to [out=90,in=0] (circle1.east); \end{tikzpicture} \end{document} |
Zuerst eine sehr manuelle Lösung, die die Symmetrie ausnutzt und einen einfachen Code
Und jetzt noch eine Lösung, die die Dazu werden sowohl den Nodes als auch dem Kreis Namen vergeben (der Kreis muss dazu nicht gezeichnet werden). Da die Library auch Lösungen findet, die uns nicht interessieren, werden diese im Meine Code
Outputbeantwortet 16 Dez '13, 18:01 Qrrbrbirlbel Danke! Ich habe es mit der manuellen Version versucht und es klappt auch in meiner Originalgrafik ohne Probleme. Vielen Dank für die super Unterstützung!
(19 Dez '13, 08:29)
josephine
|
Nicht ganz einfach. Primitiverweise könntest du einfach erst den Kreis zeichnen und dann die Nodes mit
fill=white
überzeichnen. Alternativ kannst du den Kreis manuell nachzeichnen (out
,in
, etc.). Eine exakte Lösung muss entweder berechnet werden oder mithilfe derintersections
-Library gefunden (und immer noch berechnet werden).Liegen die Nodes absichtlich nicht mit ihrem Zentrum auf dem Kreis?
Wenn auch keine direkte Antwort auf deine Frage, sei hier mal das
smartdiagram
-Paket erwähnt.Ich hab mal noch ein Bild zur Verdeutlichung des Problems eingefügt. Selbst wenn man den Kreis einfach unter die Boxen legt, sollen da ja wahrscheinlich dann auch noch die Pfeilspitzen hin ...