title: How U-V-N camera coordinate system explained with OpenGL?
body: <p>I am confused of u-v-n camera coordinate system when deducing the model-view matrix specified by the function:</p>
  
  <pre><code>void gluLookAt(GLdouble eyeX,  GLdouble eyeY,  GLdouble eyeZ,  GLdouble centerX,  GLdouble centerY,  GLdouble centerZ,  GLdouble upX,  GLdouble upY,  GLdouble upZ);
  </code></pre>
  
  <p>if we call this function ,then we get a u-v-n coordinate system ,in which <strong>n = center-eye</strong>.
  it looks like this:</p>
  
  <p><img src="https://i.stack.imgur.com/ooEFp.png" alt="UVN Camera"></p>
  
  <p>And this u-v-n is left handle coordinate system .</p>
  
  <p><strong>parts confused me :</strong></p>
  
  <p>Can this u-v-n coordinate be the so called camera coordinate many books said ?</p>
  
  <p>And I often read from some tutorial or textbook,said camera coordinate system is right-hand,so why we construct a left-hand u-v-n coordinate to deduce the model-view matrix specified by gluLookAt ,just for convenience ?</p>
  
  <p><strong>update</strong></p>
  
  <p>After reading your answer and investigation,I understood it this way:</p>
  
  <p>1)u-v-n coordinate system is left-hand,and camera coordinate is right-hand,this is the fact.</p>
  
  <p>2) when calculate the matrix,OpenGL will flip the n axis to -n instead,thus make it still a right-hand system,see <a href="https://www.opengl.org/sdk/docs/man2/xhtml/gluLookAt.xml" rel="nofollow noreferrer">gluLookAt API</a>  and <a href="http://www.opengl.org/wiki/GluLookAt_code" rel="nofollow noreferrer">GluLookAt code implementation</a> for details.</p>