PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TikZ: Problem mit plot function



LuPi
23-01-2013, 10:35
Bei dem beiliegenden Beispiel erwarte ich als Ergebnis drei aufeinanderliegende
Kurven unterschiedlicher Länge. Das Ergebnis sieht leider anders aus (siehe
Anlage). Mache ich etwas falsch oder liegt hier ein 'Fehler' bei TikZ vor?


\documentclass{minimal}
\usepackage{tikz}

\newcommand{\consta}{0.96}
\newcommand{\constc}{2.235}
\pgfmathsqrt{\constc^2-\consta^2}
\newcommand{\constb}{\pgfmathresult}

\begin{document}
\begin{tikzpicture}
\draw (0,5) -- (0,-5) (-7,0) -- (7,0);
\clip (-7,-5) rectangle (7,5);
\draw[red,rotate=26.6,shift={(0.5,-0.25)},
domain=-1.5:1.5,smooth,variable=\t]
plot ({\consta*cosh(\t)},{\constb*sinh(\t)});
\draw[blue,rotate=26.6,shift={(0.5,-0.25)},
domain=-2:2,smooth,variable=\t]
plot ({\consta*cosh(\t)},{\constb*sinh(\t)});
\draw[green,rotate=26.6,shift={(0.5,-0.25)},
domain=-2.3:2.3,smooth,variable=\t]
plot ({\consta*cosh(\t)},{\constb*sinh(\t)});
\end{tikzpicture}
\end{document}

rais
23-01-2013, 12:38
Moin moin,

Bei dem beiliegenden Beispiel erwarte ich als Ergebnis drei aufeinanderliegende
Kurven unterschiedlicher Länge. Das Ergebnis sieht leider anders aus (siehe
Anlage). Mache ich etwas falsch oder liegt hier ein 'Fehler' bei TikZ vor?

entgegen Deiner Namensgebung bleibt `\constb' nicht konstant, sondern ist abhängig von \pgfmathresult: sollte sich letzteres zwischen zwei \constb-Verwendungen ändern, sind auch beide \constb unterschiedlich.
Ersetze


\newcommand{\constb}{\pgfmathresult}

durch


\newcommand*\constb{}
\edef\constb{\pgfmathresult}

Wenn nun nur noch eine Kurve zu sehen ist, liegt das daran, daß Du die längste Kurve über die kürzeren Kurven legst.;)

MfG