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.

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:

• Crank: can rotate through a full 360°
• Rocker: can rotate through a limited range of angles which does not include 0° or 180°
• 0-Rocker: can rotate through a limited range of angles which includes 0° but not 180°
• π-Rocker: can rotate through a limited range of angles which include 180° but not 0°
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.