What ktodisco says is right, but the way I'd do it would be with matrices. Essentially, your coordinate system is expressed as xI+yJ+K. In the case of the origin/standard system, that represents the matrix equation:
http://mathurl.com/7hoegjb
likewise, for your transformed coordinate system with origin (x0,y0) and direction (a,b), the matrix would correspond to:
http://mathurl.com/6n3vevw
So to convert between systems, set both of the matrices equal to each other. All you need to calculate is A^(-1)*Vector and you're done.
The same thing can be done in three dimensions.
Also note that with this way, each unit in the alternate coordinate system would be the length of (8,3) in the normal coordinate system. To have a point at (2,3) in the alternate system be where you drew it, you'd have to normalize the vector first. Then the transform matrix.
(I'd also like to point out that in ktodisco's post, you would want the atan2 or atanfull function instead of the inverse cosine function.)