Considering a machine like this:

As the point on the unit circle R2 goes around the block P4 slides up and down in it's channel.

Most treatments I've read say the follower will move up and down as a sine wave, but it's possible to be more exact...

Let's say for example it's a unit circle centered at the origin and the channel is on the y axis...

First the point on the circle is parameterized like so:

Now parameterize with the same parameter the motion of the block P4:

This means the block is not moving in the x direction and it is moving some function f(t) in the y direction.

Also, let's say the length of the coupler is 5. Then we know that the distance between C and P is 5 or:

Now we can solve for f(t) which ends up having 2 solutions.

One of these corresponds to P arranged above the circle and the other below. Not the difference between these solutions and a sine wave...

Another example might be the four bar linkage:

We can parameterize point B.

where k(1), k(2), etc. are the lengths of the connectors of A,B, C, D.

C is also parameterized but in general it will be to a different variable s and if A is at the origin then D will be offset to a point (x,y).

The distance between B and C is k2 so:

Let's say k1 was 3, k2 = 4, and k3 =5 and (x,y) is the point (3,2)

then

It's messy,but on a computer this can be solved for s and plugged back into the parametric equation for point C. Here's an animation of how C moves as T goes linearly from 0 to 2*pi.

This animation shows the possible range of C, which is along a circle, though an anomaly in the graph shows a jump from one point on the circle to another.