I'm working on a mechanism that requires a crank rocker - is there a formula that relates the angle (to some fixed reference; horizontal, vertical, whatever) of the driving "crank" to the angle of the driven "rocker"? I've tried to work the function out geometrically, but I'm not able to. All the other equations that I can find seem to be based on finding the limits of the system, and not any one point in time.

enter image description here

To illustrate; I'd like to find the relation between the angle of "s" and that of "p", relative to i.e. the horizon - something that I can, say, plot on a graph of theta(s) to theta(p). Obviously, it would be dependent on variables for the bar lengths.


  • $\begingroup$ Search for 3 or 4 bar chains. $\endgroup$
    – Solar Mike
    Commented Jul 21, 2021 at 18:33
  • $\begingroup$ And, yes this is possible - did something similar for a pipe with two flexible joints and varying lengths of 3 sections. Use trigonometry and work out the position of the end of s as an x,y coordinate then repeat for r and again for p. Have fun with sines, cosines and tangents also think about whether to use the included angle or not compared to the horizontal. And remember parallel lines. $\endgroup$
    – Solar Mike
    Commented Jul 21, 2021 at 18:44
  • $\begingroup$ "four-bar linkage" is also a good search term for this $\endgroup$ Commented Jul 21, 2021 at 19:42
  • $\begingroup$ Thanks very much! I've found some papers/worksheets to look out, so I'll have fun studying them tonight. link.springer.com/content/pdf/… is good for anyone who comes across this question in the future. $\endgroup$
    – T.S
    Commented Jul 21, 2021 at 20:41
  • $\begingroup$ Heres some worrking and several approaches $\endgroup$
    – joojaa
    Commented Jul 22, 2021 at 12:23

1 Answer 1


I started writing this, as a solution, but I didn't end up on a neat solution (although I am certain it exists). In any case you can find a solution with numerical methods at end. If I find the neater way I will update.

Assuming that :

  • the end of bar s is point S
  • the end of bar p is point P
  • the length of bar p,q,s are respectively $L_p, L_q, L_s$
  • the angles of bars p,s are respectively $\theta_p, \theta_s$
  • the beginning of the coordinate system is at the bottom left end of bar s.

Then the coordinates for :

  • point S are:

$$\vec S = \begin{bmatrix}L_s \cos \theta_s \\L_s \sin \theta_s \\0\end{bmatrix}$$

  • point P are:

$$\vec P = \begin{bmatrix}L_q + L_p \cos \theta_p \\L_s \sin \theta_p \\0\end{bmatrix}$$

Then the distance between S and P as a vector is $$ \vec P -\vec S = \begin{bmatrix}L_q + L_p \cos \theta_p \\L_s \sin \theta_p \\0\end{bmatrix} - \begin{bmatrix}L_s \cos \theta_s \\L_s \sin \theta_s \\0\end{bmatrix} = \begin{bmatrix}L_q + L_p \cos \theta_p - L_s \cos \theta_s \\L_s \sin \theta_p -L_s \sin \theta_s \\0\end{bmatrix}$$

Therefore the distance between points P and S should be equal to the length of rod l:

$$(L_q + L_p \cos \theta_p - L_s \cos \theta_s)^2 + (L_s \sin \theta_p -L_s \sin \theta_s)^2 = L_l^2$$

if we expand and we collect all $L_p$ and $L_s$:

$$L_p^2 \left(\sin ^2(\theta_p)+\cos ^2(\theta_p)\right)+L_p (2 L_q \cos (\theta_p)+L_s (-2 \sin (\theta_p) \sin (\theta_s)-2 \cos (\theta_p) \cos (\theta_s)))+L_q^2-2 L_q L_s \cos (\theta_s)+L_s^2 \left(\sin ^2(\theta_s)+\cos ^2(\theta_s)\right) = L_l^2$$

Substituting $\left(\sin ^2(\theta_p)+\cos ^2(\theta_p)\right) = 1 =\left(\sin ^2(\theta_s)+\cos ^2(\theta_s)\right) $, simplifies the above to

$$L_p^2 +L_p (2 L_q \cos (\theta_p)+L_s (-2 \sin (\theta_p) \sin (\theta_s)-2 \cos (\theta_p) \cos (\theta_s)))+L_q^2-2 L_q L_s \cos (\theta_s)+L_s^2 = L_l^2$$

$$L_p (2 L_q \cos (\theta_p)-2 L_s ( \sin (\theta_p) \sin (\theta_s)+ \cos (\theta_p) \cos (\theta_s)))= L_l^2 - (L_p^2 - L_q^2-2 L_q L_s \cos (\theta_s)+L_s^2) $$

Also because $ \sin (\theta_p) \sin (\theta_s)+ \cos (\theta_p) \cos (\theta_s)) = \cos(\theta_p+\theta_s)$

$$L_p (2 L_q \cos (\theta_p)-2 L_s ( \cos(\theta_p+\theta_s)))= L_l^2 - (L_p^2 - L_q^2-2 L_q L_s \cos (\theta_s)+L_s^2) $$

$$L_q \cos (\theta_p)-L_s ( \cos(\theta_p+\theta_s))=\frac{1}{2 L_p }\left( L_l^2 - (L_p^2 - L_q^2-2 L_q L_s \cos (\theta_s)+L_s^2) \right) $$

At this point you can probably find a clevel trigonometrical way to solve this (I am not that good), but in this form it would be easy enough to find a numerical solution to the equation by assuming a value for $\theta_s$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.