Wie erstellt man in TikZ solch ein Muster, insbesondere mit den Überdeckungen? Open in Online-Editor
\documentclass{article} \usepackage[ngerman]{babel} \usepackage{tikz} \usepackage{xstring} % Befehlsaufbau: \knotenbild[LINIENFARBE,FLÄCHENFARBE]{GRÖẞE}{LINIENDICKE}{FLÄCHENBREITE} \newcommand{\knotenbild}[4][black,white]{\begin{tikzpicture}[scale = #2] \def\liniendicke{#3} \def\breite{#4} % \StrCut{#1}{,}\linienfarbe\flaechenfarbe % \tikzset{ unten/.style = { line width = \liniendicke, \linienfarbe, double distance = \breite, double = \flaechenfarbe }, oben/.style = { line width = 2*\liniendicke+\breite, \linienfarbe, postaction = {draw = \flaechenfarbe, line width = \breite, shorten <= -1pt, shorten >= -1pt} } } % \draw[unten] (0, 0) circle [radius=1]; \end{tikzpicture}} \begin{document} \center \knotenbild{2}{.5mm}{2mm} \end{document} gefragt 08 Dez '15, 15:12 rix |
Code: Open in Online-Editor
\documentclass[margin=5pt]{standalone} \usepackage{tikz} \begin{document} \begin{tikzpicture}[ kreis/.style={ purple, line width=1mm, double=gray!20, double distance=4mm }, kurve/.style={kreis, looseness=1.4 } ] \newcommand\aR{4cm} \newcommand\iR{2.5cm} \newcommand\winkel{10} % Koordinaten in der Mitte und den Ecken \path (0,0) coordinate(M) foreach \i in {1,2,3} {(M)+({-30+\i*120}:\aR) coordinate (A\i)}; % Kreis zeichnen \draw[kreis](M) circle [radius=\iR]; % Bounding Box begrenzen \draw[kurve,opacity=0] ([yshift=\pgflinewidth]A1)--([xshift=-\pgflinewidth]A2)--([xshift=\pgflinewidth]A3)--cycle; \clip(current bounding box.north west)rectangle(current bounding box.south east); % Kurve zeichnen \draw[kurve] (A3) foreach \i in {1,2,3} {to [out = {90-\winkel+\i*120}, in = {90+\winkel + \i*120}] (A\i)} --cycle; % Selbstüberlappung der Kurve korrigieren \begin{scope} \clip (M) rectangle (-\iR,\iR); \draw[kurve](A3) to [out={210-\winkel}, in={210+\winkel}] (A1); \end{scope} \begin{scope} \clip (M)+(-\iR,0) rectangle +(\iR,-\iR); \draw[kurve](A1) to [out={330-\winkel}, in={330+\winkel}] (A2); \end{scope} \begin{scope} \clip (M) rectangle (\iR,\iR); \draw[kurve](A2) to [out={90-\winkel}, in={90+\winkel}] (A3); \end{scope} %% Überlappung Kreis und Kurve korrigieren \begin{scope} \clip foreach \i in {1,2,3} {(M)--({-90+\i*120}:\aR)--(A\i)--cycle}; \draw[kreis] (M) circle [radius=\iR]; \end{scope} \end{tikzpicture} \end{document} Die Parameter lassen sich in gewissen Grenzen variieren. beantwortet 11 Dez '15, 15:38 esdd |
Schöne Frage! Hm,
Vielleicht mache einen Start mit einem Minimalbeispiel, was die Figure in einfacher Weise erstmal zeichnet und poste das hier. Dann kann man das fortsetzen.
gut, ich scheitere schon daran, diese Bögen hinzubekommen xD ich habe jetzt einfach so weit vorgemacht, wie ich konnte.
Ich hab zwar keine Erfahrung damit, könnte mir aber vorstellen, dass die
knots
library von Andrew Stacy vieleicht hilfreich ist.danke für die Empfehlung. Dennoch würde ich gerne wissen, wie man die Bogenstruktur zeichnet, die ja an sich nur aus drei verbundenen halbkreisähnlichen Linien besteht (stark gekrümmtes Dreieck sozusagen).