Or consider the image I've attached. The vectors are probably pointing in the wrong directions, but it doesn't really matter. The red vector (call it [tex]a_o[/tex]) is orthogonal to b, and the green vector (call it [tex]a_p[/tex]) is parallel to b. Now, a_p is the projection of a onto b, and there's a nice formula for finding it:

[tex]a_p = \frac{a.b}{b.b} * b[/tex]

(It's easy to prove, see any linear algebra text). After some calculations, we find that [tex]a_p = \left(\begin{array}{cc}-9/10, & 27/10\end{array}\right)[/tex]. But since [tex]a = a_p + a_o[/tex], we have that [tex]a_o = a - a_p = \left(\begin{array}{cc}3, & 4\end{array}\right) - \left(\begin{array}{cc}-9/10, & 27/10\end{array}\right) = \left(\begin{array}{cc}39/10, & 13/10\end{array}\right)[/tex]. And so, we have "created" a vector that's orthogonal to b, so you can chose a_o and b as the basis vectors. (Of course, you've got to normalize them first, but that's trivial).

the reason the projection of a onto b is ghiven by that formula is because of the familiar formula a.b = |a| |b| cos(C) where C is the angle between a and b. I.e. from triangle trig, the projection of a onto b has length |a| cos(C). so the vector of that length in that direction is obtained by multiplying a unit vector by that length. Now of course b/|b| is a unit vector in the direction of b,