I was saving this for after the debate, but I'm getting bored.
Tach's diagram is in the wrong reference frame for his equations, it is for a special case where the mirror-observer relative velocity is parallel to the mirror surface, and it is unnecessarily complicated by having two separate cases where one is sufficient.
This diagram is clearer and more general:
In the rest frame of the mirror:
V is the velocity of the source and the observer.
$$\theta$$ is the angle of incidence and reflection.
$$\phi_v$$ is the angle between the mirror surface and
V.
$$\phi_s$$ is the angle between the mirror-source displacement vector and
V.
$$\phi_o$$ is the angle between the mirror-observer displacement vector and
V.
Note that:
$$\phi_s = \phi_v + \pi - \theta \\
\phi_o = \phi_v + \theta$$
Now, let's figure the doppler shift.
$$\beta$$ = |
V|/c
$$\gamma = 1/\sqrt{1 - \beta^2$$
$$f_{source}$$ is the frequency of the light ray emitted by the source in the source rest frame.
$$f_{mirror}$$ is the frequency reflected by the mirror in the mirror rest frame.
$$f_{observed}$$ is the frequency detected by the observer
(Note that in Tach's document, $$f_o$$ is the source frequency, and $$f_s'$$ is the observed frequency. Not sure why he chose that convention.)
We can now correctly use the relativistic doppler equations used in Tach's document:
$$f_{mirror} = f_{source}/\gamma(1+\beta \cos\phi_s)$$
$$f_{observed} = f_{mirror} \gamma (1+\beta \cos\phi_o)$$
Note that these equations work for any angles. You don't need separate cases for approaching/receding, this is covered by allowing the angles to vary from zero to $$2\pi$$.
Combining and manipulating the equations, I end up with this (please check if you're keen):
$$f_{observed} = f_{source} \ \frac{1 +\beta \cos(\phi_v + \theta)}{1 +\beta\cos(\phi_v - \theta)}$$
Note that for the
special case of $$\phi_v = 0, \pi$$ which Tach relies on, the result is $$f_{observed} = f_{source}$$.
If anyone is really keen, it might be interesting to go even more general and allow the source and observer to have different velocities, and enumerate all the special cases where the total doppler shift is zero.