I've used that when teaching short "Graphics 101" (not in the first session though) and the math comes out more intuitive than the usual "here's how to calculate a perspective matrix, don't ask where these numbers come from" version.
Maybe consider clipping the ball properly on the edges of the sides of the view frustum ?
Similarly the near and far could also be clipped; i know this is not true of the math necessarily but is the expected result in 3d graphics applications.