The description of projection matrices as given in the documentation for setParallel() and setPerspective() methods of the m3g.Camera class could be confusing to many, particularly those who are just learning about view volumes and associated projective transforms.
First of all, the notion of field of view (fovy) for parallel projection is meaningless, and thus fovy is a misnomer for the first argument of setParallel(). We could list the arguments as: setParallel(height, aspectRatio, near, far); instead of using the term "fovy" and equating it to height 'h'.
Now, moving on to the description for setPerspective(), we find the equation h=tan(fovy/2). The reader will be led to think that 'h' denotes the height of the plane of projection (near plane). But the true height of the near plane (call it 'H') is actually given by the equation H = 2*near*tan(fovy/2). In other words, h = H/(2*near). Similarly, the term 'w' as shown in the perspective projection matrix does not stand for the width of the near plane.