This looks tough.

I remember trying to transform world coordinates to screencoords once and failing miserably.