Ich versuche, über die Kommandos \pgfmathanglebetweenlines den Winkel zwischen zwei Linien zu berechnen und diesen mit \pgfmathsetmacro für die spätere Verwendung zu speichern.

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (7,1);
\coordinate (C) at (1.5,5);
\pgfmathsetmacro{\angA}{\pgfmathanglebetweenlines{(A)}{(B)}{(A)}{(C)}};
\pgfmathsetmacro{\angA2}{0.25*\pgfmathanglebetweenlines{(A)}{(B)}{(A)}{(C)}};
\end{tikzpicture}
\end{frame}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Das Beispiel führt zur Fehlermeldung

Undefined control sequence. end{frame}

Update: Obiges Beispiel enthält einen Fehler. Hier das geänderte Beispiel.

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (7,1);
\coordinate (C) at (1.5,5);
% Berechnung mit Koordinaten
\pgfmathanglebetweenlines{(A)}{(B)}{(A)}{(C)}
\pgfmathsetmacro{\angA}{\pgfmathresult};
% Berechnung mit \pgfpoint
\pgfmathanglebetweenlines{\pgfpoint{0cm}{0cm}}{\pgfpoint{7cm}{1cm}}{\pgfpoint{0cm}{0cm}}{\pgfpoint{1.5cm}{5cm}}
\pgfmathsetmacro{\angB}{\pgfmathresult};
\node {angA=\angA\quad angB=\angB};
\end{tikzpicture}
\end{frame}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Dieses Beispiel läuft nun ohne Fehler, aber liefert für den Winkel 0.0 zurück. Dies liegt daran, dass \pgfmathanglebetweenlines als Punkte keine Koordinaten verträgt sondern \pgfpoint benötigt. Kann man Koordinaten in \pgfpoint umwandeln?

gefragt 21 Feb '16, 15:07

tom75's gravatar image

tom75
2.2k277984
Akzeptiert-Rate: 57%

bearbeitet 21 Feb '16, 18:35

Der frame ist keine echte Umgebung, sondern das Makro \frame{...} (mehr auf TeX.SX). Daher kann man im Argument kein anderes Makro definieren. Entweder \begin{frame}[fragile] oder \pgfmathsetmacro außerhalb des Frames.

(21 Feb '16, 18:01) Henri

@Henri Ich denke nicht, dass es an fragile liegt. Ich hab einen Fehler gefunden und die Frage oben erweitert.

(21 Feb '16, 18:14) tom75
2

@tom75 \path (A); \pgfgetlastxy{<macro for x>}{<macro for y>}.

(21 Feb '16, 18:41) Henri

@Henri Danke, das klappt!

(21 Feb '16, 19:06) tom75

Basierend auf dem Vorschlag von Henri:

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (7,1);
\coordinate (C) at (1.5,5);
\path (A);
\pgfgetlastxy{\xA}{\yA}
\path (B);
\pgfgetlastxy{\xB}{\yB}
\path (C);
\pgfgetlastxy{\xC}{\yC}
\pgfmathanglebetweenlines{\pgfpoint{\xA}{\yA}}{\pgfpoint{\xB}{\yB}}{\pgfpoint{\xA}{\yA}}{\pgfpoint{\xC}{\yC}}
\pgfmathsetmacro{\angB}{\pgfmathresult};
\node {angB=\angB};
\end{tikzpicture}
\end{frame}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 21 Feb '16, 22:22

tom75's gravatar image

tom75
2.2k277984
Akzeptiert-Rate: 57%

Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×731
×27

gestellte Frage: 21 Feb '16, 15:07

Frage wurde gesehen: 8,967 Mal

zuletzt geändert: 21 Feb '16, 22:22

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×