\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}
