His problem is not rasterisation, which is the process of turning an image described by vectors into an image described by pixels. What he wants to do is 3D projection — projecting a point in 3-space onto a plane.

The basic idea of perspective projection is you have a 2D screen in 3-space, and then you have an "eye". For every point you want to project, you draw a line between the eye and the point, and where the line intersects with the screen is where you draw the point on the screen. The first two images on Wikipedia's page on Perspective might help you understand this.

Here is a detailed guide on an implementation of a 3D model: http://www.cs.kuleuven.ac.be/cwis/research/graphics/INFOTEC/viewing-in-3d/viewing-engels.html

Things to note: instead of projecting from a point (x,y,z) in 3-space to a point (x,y) on a rectangle, most models project to a point (x,y,z) in a cube. The z-coordinate is there so that if two points project to the same pixel, the z-coordinate can tell you which one is further, and other distance-related things. So this model goes from a frustum to a cube. For your program, you can simply ignore the z-coordinate.