title: Projecting 3D points into 2D
body: <p>I'm trying to convert 3D points using camera pose (position and orientation). 
  Camera Position is at ( 0, 1400, 0) 
  The problem is the projected 2D points are not normalized to (-1,1) where 0,0 is the center of the screen (image)</p>
  
  <p>here is my equations</p>
  
  <pre><code>  std::vector&lt;Ogre::Vector2&gt; projectedFeaturePoints;
          Core::CameraIntrinsics cameraIntrinsics = Core::EnvironmentInformation::getSingleton()-&gt;getCameraIntrinsics();
          for (int i = 0; i &lt; out.numberofpoints; i++)
          {
              Ogre::Vector4 pt;
              pt.x = out.pointlist[i];
              pt.y = out.pointlist[(3*i) + 1];
              pt.z = out.pointlist[(3*i)+2];
              pt.w = 1;
  
              Ogre::Vector4 pnt = cameraPose.inverse()*pt;
  
              float x = ((pnt.x - cameraPosition.x)*cameraIntrinsics.focalLength.x)/pnt.z + cameraPosition.x;
              float y = ((pnt.y - cameraPosition.y)*cameraIntrinsics.focalLength.y)/pnt.z + cameraPosition.y;
  
              projectedFeaturePoints.push_back(Ogre::Vector2(x,y));
  
          }
  </code></pre>
  
  <p>One sample values</p>
  
  <pre><code>Camera Position ( 0, 1400,0)
  
  (Ogre::Vector4) pt = (x = 255.985977, y = -896.562255, z = 175.277557, w = 1)
  
  (Ogre::Vector4) pnt = (x = 314.670929, y = -963.910278, z = -2083.82031, w = 1)
  
  ProjectedPoint = (Ogre::Vector2) [0] = (x = -0.25423786, y = 1401.90991)
  </code></pre>