PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim zeichnen bewegter Punkte



.cHAIN
06-03-2018, 14:49
Halli Hallo liebe Community,

ich bin grade dran ein paar Zeilen zu schreiben. Nun ist mein Problem, dass ein Punkt, der sich entlang einer Kurve eines Diagramms bewegt nicht richtig angezeigt wird. Der "Ball" ist gestreckt und nicht rund.
Ich kann mir nicht erklären weshalb. Ich erstelle für dynamische Systeme Animationen und habe das Problem nun bei 2/5 Animationen. Bei allen anderen hat es funktioniert...

Hier der Quellcode. Das Problem befindet sich in Zeile 149 und 150 (unter dem Punkt "Geschwindigkeitsdiagramm".


\documentclass[8pt]{beamer}

%\usepackage{sansmathaccent}
%\pdfmapfile{+sansmathaccent.map}
% https://duckduckgo.com/?q=miktex+the+mathkerncmssi+could+not+be+found&t=ffab&ia=qa <https://duckduckgo.com/?q=miktex+the+mathkerncmssi+could+not+be+found&t=ffab&ia=qa>


\usepackage[ngerman]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{pgfplots,tikz,tikzscale,animate,ifthen , expl3}
\usetikzlibrary{backgrounds, shapes.geometric, arrows,snakes, patterns}
\pgfplotsset{compat=newest}
\tikzset{dashdot/.style={dash pattern=on .4pt off 3pt on 4pt off 3pt}}
\tikzset{schraffiert/.style={pattern=north west lines}} %schraffiert/.default=gray
\beamertemplatenavigationsymbolsempty


\ExplSyntaxOn
\let\fpcompareTF\fp_compare:nTF
\ExplSyntaxOff

\begin{document}

%Variablen festlegen
\def\wertOmega{5}

\begin{frame}{Aufgabe 20. Planetengetriebe 1}

%Aufgabentext
In einem Planetengetriebe rollt das Planetenrad im Hohlrad ab. Die Winkelgeschwindigkeit
des Stegs der Länge R, auf dem das Planetenrad drehbar gelagert ist,
beträgt $\Omega$. \\

% \begin{tabbing}

% $\omega(\varphi)$\=$= \frac{v_{AB}}{r \cdot sin(\varphi)}$ \\ $a_{t}(\varphi)$\=$=r \cdot \omega^{2} = \frac{c^{2}}{r\cdot sin^{2}(\varphi)}$ \\ $a_{n}(\varphi)$\=$=-\frac{c^{2}\cdot cos(\varphi)}{r\cdot sin^{3}(\varphi)}$\\

% \end{tabbing}

a) Wie groß ist die Winkelgeschwindigkeit $\omega$ des Planetenrads? \\
b) Wie hoch ist die Geschwindigkeit des Punktes P in der gekennzeichneten Lage? \\
geg.: $r, R,\Omega$ \\

\begin{animateinline} [controls, palindrome]{60} %loop zum automatischen wiederholen
\multiframe{181}{i=0+1} { \scalebox{0.5} {
{\centering \begin{tikzpicture}

%Bounding Box
\draw [white] (-5,2.5cm) -- (5cm,2.5cm); %Horizontal oben
\draw [white] (-5,-5cm) -- (-5,2.5cm); %Vertikal links
\draw [white] (-5,-5cm) -- (5,-5cm); %Horizontal unten
\draw [white] (5,2.5cm) -- (5,-5cm); %Vertikal rechts

%Berechnung der Parameter und Festlegung der Variablen
\pgfmathparse{\i}
\let\phi\pgfmathresult

%x-Bewegung Koppelpunkt Rad
\pgfmathparse{-3.2*cos(\phi)} %Faktor 4 zur Anpassung an KreisdurchmesseR
\let\x\pgfmathresult
%y-Bewegung Koppelpunkt Rad
\pgfmathparse{-3.2*sin(\phi)} %Faktor 4 zur Anpassung an Kreisdurchmesser
\let\y\pgfmathresult
%x-Bewegung Punkt P
\pgfmathparse{0.8*cos(-5*\phi)}
\let\xp\pgfmathresult
%y-Bewegung Punkt P
\pgfmathparse{-0.8*sin(5*\phi)}
\let\yp\pgfmathresult
%x-Bewegung kleiner Radius
\pgfmathparse{-0.8*cos(\phi-90)}
\let\xrad\pgfmathresult
%y-Bewegung kleiner Radius
\pgfmathparse{-0.8*sin(\phi-90)}
\let\yrad\pgfmathresult
%Kreisgeschwindigkeit omega
\pgfmathparse{sqrt(2)*\wertOmega*3.2}
\let\kg\pgfmathresult
%Geschwindigkeit Punkt P
\pgfmathparse{-\wertOmega*(3.2/0.8)}
\let\vp\pgfmathresult


\def\RadPhi{rad(\phi}

%Start Modellierung der Umgebung

\draw [line width=0.7mm, smooth] (-4cm,0) arc (0:180:-4cm);
%Schraffur Lager
\draw [line width=0.1mm, gray] (-0.5,0.5) -- (-0.4,0.6);
\draw [line width=0.1mm, gray] (-0.4,0.5) -- (-0.3,0.6);
\draw [line width=0.1mm, gray] (-0.3,0.5) -- (-0.2,0.6);
\draw [line width=0.1mm, gray] (-0.2,0.5) -- (-0.1,0.6);
\draw [line width=0.1mm, gray] (-0.1,0.5) -- (0,0.6);
\draw [line width=0.1mm, gray] (0,0.5) -- (0.1,0.6);
\draw [line width=0.1mm, gray] (0.1,0.5) -- (0.2,0.6);
\draw [line width=0.1mm, gray] (0.2,0.5) -- (0.3,0.6);
\draw [line width=0.1mm, gray] (0.3,0.5) -- (0.4,0.6);
\draw [line width=0.1mm, gray] (0.4,0.5) -- (0.5,0.6);
\draw [line width=0.1mm, gray] (0.5,0.5) -- (0.6,0.6);
%Lager
\draw (0,0) -- (0.5,0.5) -- (-0.5,0.5) -- (0,0) circle;
\node(C) at (0,0.85) {\huge$C$};
\draw [fill=black] (0,0) circle(0.1);
\draw [<->, bend right=45, line width=0.3mm] (-1,-0.5) to (1,-0.5) node [right] {\huge$\Omega$};
%Zahnrad
\draw [fill=lightgray, draw=black] (\x,\y) circle(0.8);
%Schraffur Hohlrad
\begin{scope} %[rotate = 45]
\clip (-4cm,0) arc (0:180:-4cm) -- (4.5cm,0) arc (180:0:-4.5cm) -- (-4cm,0);
\draw [schraffiert] (-5,0.1) rectangle (5,-5);
\end{scope}

%Ende Modellierung der Umgebung

%Bewegte Elemente zeichnen
\draw [line width=0.4mm] (0,0) -- (\x cm,\y cm) node [midway, above] {\huge$R$};
\draw [line width=0.4mm, ->] (\x,\y) -- (\x+\xrad,\y+\yrad) node at (\x+\xrad+0.3,\y+\yrad-0.35) {\huge$r$};
\draw [fill=white, draw=black] (\x,\y) circle(0.1) node [below] {\huge$A$};
\draw [fill=green] (\xp+\x,\yp+\y) circle(0.1); %Mitlaufender Punkt

%Counter Anfang
\node at (3,1) {\huge$\varphi$=$\phi^{\circ}$};
%Counter Ende



%Geschwindigkeitsdiagramm
\begin{axis} [xlabel={\huge$\varphi$},
ylabel={\huge$\omega,v$},
xtick=\empty,
ytick=\empty,
scale=1.5,
every axis x label/.style={ at={(ticklabel* cs:1.0)}, anchor=west},
every axis y label/.style={ at={(ticklabel* cs:1.0)}, anchor=south},
x axis line style={->, line width = 0.4mm},
y axis line style={->, line width = 0.4mm},
legend style={at={(3cm,5cm)}, anchor=north east},
at={(6cm,-5cm)},
axis x line*=middle,
axis y line*=left,
xmin=0,
xmax=1.1*pi]

%Geschwindigkeiten
\addplot[line width=3pt, blue, smooth, domain=0:pi] {sqrt(2)*\wertOmega*3.2};
\addplot[line width=3pt, green, smooth, domain=0:pi] {-\wertOmega*(3.2/0.8)};
%Mitlaufende Punkte
\draw [fill=blue, draw=black] (\RadPhi,\kg) circle(0.1); %klappt nicht. Kreise gestaucht
\draw [fill=green, draw=black] (\RadPhi,\vp) circle(0.1);

\legend{\huge$\omega$, \huge$v_{P}$};

\end{axis}

\end{tikzpicture}
}
}
}
\end{animateinline}



\end{frame}

\end{document}

Ich hoffe Ihr könnt mir bei meinem Problem weiterhelfen.

Mit freundlichen Grüßen,

Chris H.

rais
07-03-2018, 18:45
versuch es mal mit Angabe einer Einheit bei den entsprechenden circle-Konstrukten, etwa


\draw [fill=blue, draw=black] (\RadPhi,\kg) circle(0.1cm);

VG

.cHAIN
07-03-2018, 19:14
Hallo rais,

es hat geklappt. Wieso auch immer ich es nicht ausprobiert habe.
Ich danke Dir :)