Example of a four-bar linkages which has four linked bars which are free to rotate. For any given value of the bar lengths only some positions are possible. The machine can move through these positions in a continuous motion with one degree of freedom.

Click and drag the white boxes to change lengths of bars.

Speed    Pre-defined configurations:

Several types of motion are possible which depend on the lengths of the bars. If a, b, c, d are the lengths of the bars and the fixed bar (the frame) has length d the signs of T1=b+d-a-c, T2=c+d-a-b, T3=b+c-a-d determine the type of configuration. The Grashof condition compares s+l to g+h where s is the shortest length, l is the longest and g, h are the other two lengths. If s+l<g+h then at least one of the bars will rotate through 360°. If s+l>g+h then no bars will rotate through 360°.

The two bars attached to the crank can take one of four different types:

T1T2T3Grashof conditionType
--+GrashofCrank, Crank
+++GrashofCrank, Rocker
+--GrashofRocker, Crank
-+-GrashofGrashof Double Rocker
---Non-Grashof00 Double Rocker
-++Non-Grashofππ Double Rocker
+-+Non-Grashofπ0 Double Rocker
++-Non-Grashof0π Double Rocker

Built using Processing.js and using handles example.

Readers comments

Four Bar Linkage

Arcot Somashekar Sun May 26 2019

Hello Richard This is a very useful site to teach Linkages and Mechanisms at university. It would be good if: (1) We can slow down/adjust the speed of rotation. (2) Change direction of rotation (to anti-clockwise, which is positive direction). Thank you Arcot Somashekar

Thanking and a Suggestion

Cem Kurt Tue Apr 13 2021

Dear Mr. Morris, Thank you for this extremely useful and easy-to-use simulation. If I may, my suggestions would be the additions of (1)direction changing of rotation and (2)angular limiting of rotation options. Kind regards, Cem Kurt.


Dr. César Guerra Torres Fri Feb 24 2023

You work is been important in my teach of mechanisms in my university


Add a comment/link:

Enter your comment about this page here.



Links To add a link to another website with useful info add the details here.
Name of Site:
URL for Site:

Your Name:
email address:
Email addressed added here will not be displayed on the website or be passed to third parties.
They are used incase we need to get in touch with you.
4 + 10 =
Answer the sum to prove your not a robot. As we all know robots can't add.
To prevent spam all comments are moderated, comments with spam or swearing are blocked.

Msqli defined