title: Perspective Projection: determine the 2D screen coordinates (x,y) of points in 3D space (x,y,z)
body: <p>I wish to determine the 2D screen coordinates (x,y) of points in 3D space (x,y,z).</p>
  
  <p>The points I wish to project are real-world points represented by GPS coordinates and elevation above sea level.</p>
  
  <p>For example:
  Point (Lat:49.291882, Long:-123.131676, Height: 14m)</p>
  
  <p>The camera position and height can also be determined as a x,y,z point. I also have the heading of the camera (compass degrees), its degree of tilt (above/below horizon) and the roll (around the z axis).</p>
  
  <p>I have no experience of 3D programming, therefore, I have read around the subject of perspective projection and learnt that it requires knowledge of matrices, transformations etc - all of which completely confuse me at present.</p>
  
  <p>I have been told that OpenGL may be of use to construct a 3D model of the real-world points, set up the camera orientation and retrieve the 2D coordinates of the 3D points.</p>
  
  <p>However, I am not sure if using OpenGL is the best solution to this problem and even if it  is I have no idea how to create models, set up cameras etc</p>
  
  <p>Could someone suggest the best method to solve my problem? If OpenGL is a feasible solution i'd have to use OpenGL ES if that makes any difference. Oh and whatever solution I choose it must execute quickly.</p>