\DocumentMetadata{lang=en} %% $Id: pst-fourbarlinkage-doc.tex 1194 2025-12-19 07:42:46Z herbert $ \documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false, headings=small, headinclude=false,footinclude=false,twoside]{pst-doc} \usepackage{pst-plot} \usepackage{animate} \usepackage{pst-tools,pst-fourbarlinkage} \let\PSTfileversion\fileversion \let\PSTfiledate\filedate \addbibresource{\jobname.bib} \renewcommand\bgImage{\begin{pspicture}(-4,-5)(6,4) \psFourBarLinkage[unit=1.5,crossed=false,N=30,connectedpoints=false, centrodes,fixedcentrodes,posM=1 0.5,barlengths=20 21 15 10] \end{pspicture}} \addbibresource{\jobname.bib} \usepackage{enumitem} \setlist{nosep} \begin{document} \title{\texttt{pst-fourbarlinkage}} \subtitle{Articulated Quadrilaterals; v.\PSTfileversion} \author{Jürgen Gilg\dagger \\Manuel Luque\\ Herbert Voß} \docauthor{} \date{\today} \settitle \begin{abstract} Jürgen Gilg\dagger\ had suggested creating this package and started some theoretical calculations and a first example. His sudden death should have put an end to this project, but in his memory, I decided to continue it. The example he suggested as a model is the one from Eric Constans webpage.~\parencite{constans} \end{abstract} \section{Introduction} It seemed very difficult %, especially since Jürgen wanted to add the location of the instantaneous centers of rotation (base - fixed centrode) and the moving centrode (ruleta - moving centrode). Eric Constans's implementation remains an unsurpassed benchmark. The calculation method followed the one recommended by the authors Eric Constans, Karl Dyer, and Shraddha Sangelkar.~\parencite{constans2} \section{Articulated Quadrilaterals (Four-bar linkage)} There are certainly errors in the \LPack{pst-fourbarlinkage} package; %I am not a specialist in the subject, and Readers interested in a more comprehensive study may find it helpful to consult the book published by Karl B. Dyer and Eric Constans.~\parencite{constans2018} \section{Possible options of the command \nxLcs{psFourBarLinkage[\ldots]}} \begin{minipage}[t]{0.48\linewidth} \vspace{0pt} \centering \begin{pspicture}(-4,-5)(6,4) \psFourBarLinkage[unit=1.5,crossed=false,N=30,connectedpoints=false, centrodes,fixedcentrodes,posM=1 0.5,barlengths=20 21 15 10] \end{pspicture} The third step of the animation. \end{minipage}% \hfill \begin{minipage}[t]{0.48\linewidth} \vspace{0pt} \centering \begin{animateinline}[controls,palindrome, begin={\begin{pspicture}[showgrid=](-4,-5)(6,4) \rput(0,-4.5){[20 21 15 10]}}, end={\end{pspicture}}]{5}% 5 images/s \multiframe{37}{i=0+10}{% \psFourBarLinkage[unit=1.5,crossed=false,N=\i,connectedpoints=false,centrodes, fixedcentrodes,posM=1 0.5,barlengths=20 21 15 10]} \end{animateinline} \end{minipage} \bigskip The default values are: \begin{enumerate}[nosep] \item \LKeyset{barlengths=20 32 30 15}: bar lengths \texttt{[a b c d]} in mm. \item \LKeyset{N=360}: number of points; if one of the bars a, b, or c makes a complete rotation, this corresponds to 360 degrees. \item \LKeyset{Nmax=360}: Maximum number of points; if one of the bars a, b, or c makes two complete rotations, the value will be 720. \item \LKeyset{crossed=false}: Boolean; see the article \textcite{constans2} for both configurations (Open and Crossed). \item \LKeyset{connectedpoints=false}: Boolean to connect the points together; by default, the path is dashed. \item \LKeyset{dmax=1}: Maximum distance at which two points will be connected, if \Lkeyword{connectedpoints} is selected (to prevent a line from crossing the screen). \item \LKeyset{centrodes=false}: Boolean; whether or not to display the instantaneous center of rotation. \item \LKeyset{fixedcentrodes=false}: Boolean, to represent a fixed centrode (base) and a moving centrode (ru-leta). \item \LKeyset{posM=0.5 0.1}: Position of the point connected to the connecting rod by two thinner bars as a fraction of b, abscissa and ordinate in the coordinate system linked to the connecting rod (coupled) with origin B. By default, the midpoint of BC. \end{enumerate} The package displays the type \Index{Grashof}, \Index{Non-Grashof}, or Special, in \textcite{constans}, but does not check if the condition stipulating that one side must always be smaller than the sum of the other three is met. Below are two examples. The other examples are in separate files. \newpage \section{Examples} \subsection{Example 1: Grashof, class 3 [crossed]} \begin{center} \begin{animateinline}[controls,palindrome, begin={\begin{pspicture}[showgrid=](-6,-5.5)(7.5,9.5) \rput(0,-4.5){[16 7.5 15 10]}}, end={\end{pspicture}}]{5}% 5 images/s \multiframe{73}{i=0+5}{% \psFourBarLinkage[unit=1.5,barlengths=16 7.5 15 10,crossed,N=\i,connectedpoints,centrodes,fixedcentrodes,dmax=5,posM=0.5 2]} % classe 3 \end{animateinline} \end{center} \begin{codeblockA}[breakable,title={Grashof, class 3 [crossed]}] \begin{animateinline}[controls,palindrome, begin={\begin{pspicture}[showgrid=](-6,-5.5)(7.5,9.5)}, end={\end{pspicture}}]{5}% 5 images/s \multiframe{73}{i=0+5}{% \psFourBarLinkage[unit=1.5,barlengths=16 7.5 15 10,crossed,N=\i, connectedpoints,centrodes,fixedcentrodes,dmax=5,posM=0.5 2]} \end{animateinline} \end{codeblockA} \newpage \subsection{Example 2 : Lemniscate Linkage} Point M is the midpoint of the connecting rod (bar b). \begin{center} \begin{animateinline}[controls,palindrome, begin={\begin{pspicture}[showgrid=](-6,-5.5)(7.5,7.5)}, end={\end{pspicture}}]{5}% 5 images/s \multiframe{73}{i=0+5}{% \psFourBarLinkage[unit=2,barlengths=10 14 10 14,crossed,connectedpoints,centrodes,N=\i,fixedcentrodes,dmax=3.85]} % classe 19 \end{animateinline} \end{center} \begin{codeblockA}[breakable,title=Lemniscate Linkage] \begin{animateinline}[controls,palindrome, begin={\begin{pspicture}[showgrid=](-6,-5.5)(7.5,7.5)}, end={\end{pspicture}}]{5}% 5 images/s \multiframe{73}{i=0+5}{% \psFourBarLinkage[unit=2,barlengths=10 14 10 14,crossed,connectedpoints,centrodes,N=\i, fixedcentrodes,dmax=3.85]} % classe 19 \end{animateinline} \end{codeblockA} \printbibliography \printindex \end{document}