TikZ: Mit save path definierten Pfad in einen neuen Pfad einfügen Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

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

Beitrag 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

gast.

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

Beitrag 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}

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

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

Beitrag 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

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

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

Beitrag 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}

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

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

Beitrag von Rolli »

Super, so geht es. Das spath3-Paket hatte ich beim Suchen nicht gefunden.
DANKE!

Gruß vom Rolli

Antworten