title: Math behind LookAt function
body: <p>On MSDN(http://msdn.microsoft.com/en-us/library/windows/desktop/bb281710%28v=vs.85%29.aspx) for LookAt function is this math:</p>
  
  <pre><code>zaxis = normal(cameraTarget - cameraPosition)
  xaxis = normal(cross(cameraUpVector, zaxis))
  yaxis = cross(zaxis, xaxis)
  
  xaxis.x           yaxis.x           zaxis.x          0
  xaxis.y           yaxis.y           zaxis.y          0
  xaxis.z           yaxis.z           zaxis.z          0
  -dot(xaxis, cameraPosition)  -dot(yaxis, cameraPosition)  -dot(zaxis, cameraPosition)  1
  </code></pre>
  
  <p>As far as I know on the last line is the translation. Can you please explain why one can't just put cameraPosition on this line and the dot function is needed?</p>