Hallo zusammen,

ich verzweifel gerade an einer Animation für meine Präsentation. Diese baue ich natürlich mit dem Beamer-Paket von LaTeX und der Quellcode sieht wie folgt aus:

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{intersections,angles,quotes,calc,through,babel}
\usepackage{animate}
\usepackage{ifthen}
\newcommand{\Gerade}[1]{%
\gdef\setA{#1}
\begin{tikzpicture}
\clip (-5,-1)rectangle(5,5);
\coordinate (A) at (0,0);
\coordinate (B) at (2,0);
\coordinate (C) at (0,3);
\node[anchor=south] at (C){C};
\fill(C) circle (1.5pt);
\draw(C) circle (3pt);
\draw ($(A)!-10cm!(B)$)--($(A)!+10cm!(B)$);
\coordinate (D) at ($(C)+(\setA:1)$);
\draw ($(C)!-10cm!(D)$)--($(C)!+10cm!(D)$);
\coordinate (SP) at (intersection of C--D and A--B);
\fill[red] (SP) circle (1.2pt);
\end{tikzpicture}
}
\newcounter{Winkel}
\setcounter{Winkel}{36}
\begin{document}
\frame{\frametitle{Wandernder Schnittpunkt}
\begin{animateinline}[autoplay,palindrome]{12}
\Gerade{35}
\whiledo{\value{Winkel} < 125}{
\newframe
\Gerade{\value{Winkel}}
\stepcounter {Winkel}}
\end{animateinline}
}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Nun soll der Code eine Animation erzeugen, wo sich die obere Gerade C--D um Punkt C dreht und der Schnittpunkt mit der unteren Gerade jeweils auf dieser als roter Punkt wandert.

Leider komme ich irgendwie nicht zum Ziel.

Kann ich den Counter bzw. seinen Wert nicht in tikz-Umgebungen benutzen? Ich weiß mir leider keinen Rat und hoffe, dass wer von euch eine zündende Idee hat! Das wäre genial!

Vielen Dank schon mal im Voraus für eure Hilfe =)

gefragt 10 Mai '16, 19:22

Wienie2401's gravatar image

Wienie2401
14059
Akzeptiert-Rate: 0%

bearbeitet 10 Mai '16, 20:10

saputello's gravatar image

saputello
11.1k174365

1

Bitte Markdown statt HTML verwenden. Nur dann gibt es für Blockcode auch den Online-Editor-Link. Blockcode geht ganz einfach durch Auswählen des Codes und entweder Strg-k drücken oder den Code-Knopf in der Toolbar.

(10 Mai '16, 20:12) saputello
1

Ich vermute stark, dass Du \arabic statt \value brauchst.

(10 Mai '16, 20:43) cgnieder

Danke saputello für die Anmerkung, werde es in Zukunft beherzigen =)

@Clemens: Genau dein Vorschlag hat das Problem gelöst! Danke =)

(10 Mai '16, 21:14) Wienie2401

Für den Zweck parametrierter Animationsframes bietet das animate-Paket den Befehl

Open in Online-Editor
\multiframe{<anzahl>}{<parameterdefinitionen>}{<schleifenkörper>} .
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

(Siehe Dokumentation.)

whiledo-Schleifen sollten hier grundsätzlich nicht verwendet werden.

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{intersections,angles,quotes,calc,through,babel}
\usepackage{animate}
\newcommand{\Gerade}[1]{%
\begin{tikzpicture}
\clip (-5,-1)rectangle(5,5);
\coordinate (A) at (0,0);
\coordinate (B) at (2,0);
\coordinate (C) at (0,3);
\node[anchor=south] at (C){C};
\fill(C) circle (1.5pt);
\draw(C) circle (3pt);
\draw ($(A)!-10cm!(B)$)--($(A)!+10cm!(B)$);
\coordinate (D) at ($(C)+(#1:1)$);
\draw ($(C)!-10cm!(D)$)--($(C)!+10cm!(D)$);
\coordinate (SP) at (intersection of C--D and A--B);
\fill[red] (SP) circle (1.2pt);
\end{tikzpicture}%
}
\begin{document}
\begin{frame}{Wandernder Schnittpunkt}
\begin{animateinline}[autoplay,palindrome]{12}
\multiframe{91}{iWinkel=35+1}{ % iWinkel=(35,36,...,125)°
\Gerade{\iWinkel}
}
\end{animateinline}
\end{frame}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Für nicht-ganzzahliges Inkrementieren muss der Winkel-Parameter wie folgt definiert werden:

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\multiframe{181}{rWinkel=35+0.5}{ % rWinkel=(35,35.5,36,...,125)°
\Gerade{\rWinkel}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 11 Mai '16, 09:37

AlexG's gravatar image

AlexG
63615
Akzeptiert-Rate: 33%

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
×141
×7
×4
×1

gestellte Frage: 10 Mai '16, 19:22

Frage wurde gesehen: 7,137 Mal

zuletzt geändert: 11 Mai '16, 09:37

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×