I am currently writing some code to render 3-D scenes to 2-D. I found this Perspective Camera Transformation applet useful for getting an intuitive feel for the concepts.