Seite 1 von 1

TikZ: Mit save path definierten Pfad in einen neuen Pfad einfügen

Verfasst: Fr 21. Jan 2022, 11:26
von Rolli
Hallo, ich möchte eine Grafik erzeugen, wie sie das folgende Beispiel ausgibt.
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary {intersections}

\begin{document}

\begin{tikzpicture}[declare function={myFunc(\x) = sin(\x r);}]

   \path [save path=\A, name path=A, domain=0:2*pi, samples=200] plot (\x,{myFunc(\x)});

   \draw [thick, fill=yellow] 
         (-2,-2) -- (0,0) node (X) {} -- (0.5,0.479) -- (1.0,0.841) -- (1.5,0.997) -- 
         (2.0,0.909) -- (2.5,0.598) -- (3.0,0.141) -- (3.5,-0.351) -- 
         (4.0,-0.757) -- (4.5,-0.978) -- (5.0,-0.959) -- (5.5,-0.706) -- 
         (6.0,-0.279) -- (6.283,0) node (Y) {}-- (8.3,-2) -- cycle;
   \draw circle(0.1);
   \draw (6.28,0) circle (0.1);
   \draw [<-] (X) -- (3.1,2);
   \draw [<-] (Y) -- (3.2,2) node [above] {use path=\textbackslash{}A};

%   \draw (-2,-2) -- ({use path=\A}) -- (8.3,-2) -- cycle; 

\end{tikzpicture}

\end{document}
Zwischen den beiden markierten Punkten möchte ich einen bereits vordefinierten Pfad verwenden; im Beispiel habe ich es durch eine Sinusfunktion modelliert.

D. h., ich suche die Sytax für das "Irgendwas" in
\draw (-2,-2) -- <Irgendwas> -- (8.3,-2) -- cycle; 
wobei für das "Irgendwas" die im path \A definierten 200 Punkte eingesetzt werden sollen.

Die im Beispiel auskommentierte Zeile zeigt meinen nicht funktionierenden Versuch.
Das Pgfmanual (Kap. 14.22) enthält dazu leider keine Hinweise.

Weiß jemand Rat?

Gruß vom Rolli

Re: TikZ: Mit save path definierten Pfad in einen neuen Pfad einfügen

Verfasst: Fr 21. Jan 2022, 14:16
von gast.
Meinst du so etwas?
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary {intersections}

\begin{document}

\begin{tikzpicture}[declare function={myFunc(\x) = sin(\x r);}]

   \path [save path=\pathA, name path=A, domain=0:2*pi, samples=200] plot (\x,{myFunc(\x)});

   \draw [thick, fill=yellow] 
         (-2,-2) -- (0,0) node (X) {} -- (0.5,0.479) -- (1.0,0.841) -- (1.5,0.997) -- 
         (2.0,0.909) -- (2.5,0.598) -- (3.0,0.141) -- (3.5,-0.351) -- 
         (4.0,-0.757) -- (4.5,-0.978) -- (5.0,-0.959) -- (5.5,-0.706) -- 
         (6.0,-0.279) -- (6.283,0) node (Y) {}-- (8.3,-2) -- cycle;
   \draw circle(0.1);
   \draw (6.28,0) circle (0.1);
   \draw [<-] (X) -- (3.1,2);
   \draw [<-] (Y) -- (3.2,2) node [above] {use path=\textbackslash{}A};

   \path [red] (-2,-2) [draw][use path=\pathA] -- (8.3,-2) -- cycle; % Zur Verdeutlichung in rot.

\end{tikzpicture}

\end{document}

Re: TikZ: Mit save path definierten Pfad in einen neuen Pfad einfügen

Verfasst: Fr 21. Jan 2022, 14:47
von Rolli
Danke für die Antwort. Das gibt zwar keinen Übersetzungsfehler, funktioniert aber leider nicht wie beabsichtigt.
\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary {intersections}

\begin{document}

\begin{tikzpicture}[declare function={myFunc(\x) = sin(\x r);}]

   \path [save path=\pathA, name path=A, domain=0:2*pi, samples=200] plot (\x,{myFunc(\x)});

   \path [red] (-2,-2) [draw][use path=\pathA] -- (8.3,-2) -- cycle; % Zur Verdeutlichung in rot.

\end{tikzpicture}

\end{document}
Was fehlt, sind die geraden Linien links Richtung Nordost, rechts Richtung Südost und die horizontale Linie unten.

Ich möchte einen neuen Path erzeugen, bestehend aus einigen Elementen (im Beispiel Linien) und einem bereits bestehendem Path (im Beispiel der Sinus).

Gruß vom Rolli

Re: TikZ: Mit save path definierten Pfad in einen neuen Pfad einfügen

Verfasst: Fr 21. Jan 2022, 15:32
von Bartman
Möglicherweise sehe ich nur den Wald vor lauter Bäumen nicht, aber mit save path und use path gelingt es mir auch nicht, mit spath3 und dem Startpunkt als Endpunkt dagegen schon.
\documentclass[tikz]{standalone}
\usetikzlibrary{spath3}

\begin{document}
\begin{tikzpicture}[declare function={myFunc(\x) = sin(\x r);}]
  \path [spath/save=pathA, domain=0:2*pi, samples=200] plot (\x,{myFunc(\x)}); 
  \draw [thick, fill=yellow] 
    (-2,-2) -- (0,0) [spath/use=pathA] -- (8.3,-2) -- (-2,-2) -- cycle
  ;
\end{tikzpicture}
\end{document}

Re: TikZ: Mit save path definierten Pfad in einen neuen Pfad einfügen

Verfasst: Mo 24. Jan 2022, 08:59
von Rolli
Super, so geht es. Das spath3-Paket hatte ich beim Suchen nicht gefunden.
DANKE!

Gruß vom Rolli