How to visualize projection of a function onto fourier basis? I wonder if there are any notes on how one would visualize a projection of function f(x) onto cos(x) and sin(x) in the same way that you would for two vectors. 
Is there a picture, or a figure somewhere that illustrates this operation? 
Also, is there a convenient function f(x) that you could choose so to make the visualization intuitive?
 A: 
I personally like this one, but then again, I was the one who created it. It's adapted from Bracewell's book, and appears as Figure 18.39 in Computer Graphics: Principles and Practice, 3rd Edition. Let me try to explain what it shows.
Overall, it shows the computation of the transform of the box function $b$ (which is $1$ for $-0.5 < x < 0.5$ and zero elsewhere). In the top image, you see the product of the box function (orangy) and a typical sine function of some frequency (1.2 in this case). The positive parts of the product are green; the negative parts red. There's a little more negative than positive, so $\cal F(b)(1.2) < 0$, although it's very close
The bottom part shows figures like this one in the context of many other similar figures, each "panel" corresponding to a sine of a different frequency; that frequency is shown with the label $\omega$. 
For the $\omega = 0$ slice, you see all green. The total green area is shown to the right, just above the number "0" on the $\omega$ axis, as a green rectangle. Similarly, at $\omega = 3$, there's another green rectangle, of smaller height. For each "panel" in this diagram, we could draw a "total area" rectangle like these; some (like the two shown) would be green, and extend above the axis; others would be red and extend below. The magenta curve shows how these area-rectangles look: the largest is at $\omega = 0$, by $\omega = 1$, the area has fallen to zero, by $\omega = 1.2$, it's slightly negative, as the upper figure showed, and so on. Connecting the dots gives us the magenta curve, which happens to be the graph of $\sin(x)/x$. 
The whole thing was produced by a hideous pile of Matlab code. :(
