[Animate] Relier un point qui se déplace

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Arathorn
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 209
Inscription : mercredi 24 avril 2013, 19:47

[Résolu] [Animate] Relier un point qui se déplace

Message par Arathorn »

Bonjour,

Comment relier avec \pscurve les différentes positions du point rouge sur le fond blanc pour obtenir la trajectoire par rapport à l'horloge ?

Code : Tout sélectionner

\documentclass[border=15pt]{standalone}
\usepackage{pstricks-add,animate}

\newcommand{\Trotteuse}{%
\pscustom[fillstyle=solid,fillcolor=gray,opacity=0.5,linestyle=none]{%
\psline(-0.5,-0.5)(0.5,-0.5)(0.5,7.5)(1,7.5)(0,8.5)(-1,7.5)(-1,7.5)(-0.5,7.5)(-0.5,0) }
}
\begin{document}

\begin{animateinline}[controls]{1}
	
	\multiframe{41}{iAngle=90+-6,iRot=0+-6,rDist=0+.2}{%
		
		\begin{pspicture}(-9.5,-9.5)(9.5,9.5)
	\pscircle[linewidth=12pt](0,0){9cm}
	\multido{\ia=60+-30,\in=1+1}{12}{\psline[linewidth=4pt](8;\ia)(9;\ia)\uput{7}[\ia](0,0){\huge \in}}
	\multido{\ia=0+6}{60}{\psline[linewidth=1pt](8.3;\ia)(9;\ia)}
	
	\psrotate(0,0){\iRot}{\Trotteuse}		

	\rput(\rDist;\iAngle){\pscircle[fillstyle=solid,fillcolor=red,linestyle=none](0,0){0.25cm}}

\psline[linewidth=2pt,linestyle=dashed](0;0)(\rDist;\iAngle)
		\end{pspicture}
	 }
\end{animateinline}
	
\end{document}
Merci
Dernière modification par Arathorn le mercredi 29 mai 2019, 17:41, modifié 1 fois.

Arathorn
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 209
Inscription : mercredi 24 avril 2013, 19:47

Re: Animate : relier un point qui se déplace

Message par Arathorn »

J'ai réussi au départ avec une courbe paramétrique puis je suis tombé sur la spirale d'Archimède que j'ai adapté à mon dessin.
Avec mes recherches, j'ai découvert la commande PtoC car je n'arrivais pas à écrire les coordonnées polaires avec l'écriture de postscript.

Code : Tout sélectionner

\documentclass[border=15pt]{standalone}
\usepackage{pstricks-add,animate}

\newcommand{\Trotteuse}{%
\pscustom[fillstyle=solid,fillcolor=gray,opacity=0.5,linestyle=none]{%
\psline(-0.5,-0.5)(0.5,-0.5)(0.5,7.5)(1,7.5)(0,8.5)(-1,7.5)(-1,7.5)(-0.5,7.5)(-0.5,0) }
}

\newcommand{\Horloge}{%
\pscircle[linewidth=12pt](0,0){9cm}
\multido{\ia=60+-30,\in=1+1}{12}{\psline[linewidth=4pt](8;\ia)(9;\ia)\uput{7}[\ia](0,0){\huge \in}}
\multido{\ia=0+6}{60}{\psline[linewidth=1pt](8.3;\ia)(9;\ia)}
	
\psrotate(0,0){\iRot}{\Trotteuse}	
	
\pscircle[fillstyle=solid,fillcolor=red,linestyle=none](! \rDist \space \iAngle\space PtoC ){0.25cm}%
	
\psline[linewidth=2pt,linecolor=green!60!black!,linestyle=dashed](! \rDist\space \iAngle\space PtoC)%
}

\begin{document}

\begin{animateinline}[controls,poster=first]{1}
\multiframe{41}{iRot=0+-6,rDist=0+0.2,iAngle=90+-6,Rangle=1.570796327+-0.104719755}{	
\begin{pspicture}[showgrid=](-9.5,-9.5)(9.5,9.5)
\Horloge
%courbe paramétrique : décalarer la variable iTemps=0+1 dans multiframe
%\parametricplot[algebraic,linewidth=2pt,linecolor=green!60!black!]{0}{\iTemps}{0.2*t*sin(\psPi/30*t),0.2*t*cos(\psPi/30*t)}
		
%spirale d'Archimède
\psplot[algebraic,polarplot,linecolor=green!60!black,linewidth=2pt]{1.570796327}{\Rangle}{3-1.909859319*x}
\end{pspicture}
}
\end{animateinline}	

\end{document}