gluOrtho2D et glViewport

J'ai un objet défini dans les coordonnées du monde, dire un cercle centré en (2,3) et de rayon 4. Si je veux le cercle pour ne pas être déformé pour être entièrement visible dans la fenêtre d'affichage et d'être aussi grande que possible à l'intérieur de la fenêtre d'affichage, comment puis-je formuler une gluOrtho2D commande pour créer un monde à la fenêtre basée sur les spécifications susmentionnées étant donné que:

glViewport(20, 30, 1000, 500)?

Je suis de se confondre avec l'ensemble de la fenêtre d'affichage vs monde vs écran, etc coordonnées. Quelqu'un peut-il me guider à travers elle? Je veux vraiment obtenir le blocage de ce.

source d'informationauteur Alex