title: gluOrtho2D and glViewport
body: <p>I have an object defined in world coordinates, say a circle centered at (2,3) with radius 4. If I want the circle to not be distorted, to be entirely visible in the viewport and to be as big as possible within the viewport, how can I formulate a gluOrtho2D command to create a world window based on the aforementioned specs given that:</p>
  
  <pre><code>glViewport(20, 30, 1000, 500)?
  </code></pre>
  
  <p>I am getting confused with the whole viewport vs world vs screen, etc coordinates. Can someone walk me through it? I really want to get the hang of this.</p>