I'm using the MapControl on a UWP project, to simulate a virtual camera on the surface. Around the MapControl I have a set of indicators, like a ruler, showing the heading (azimuth) and the pitch (elevation).
Here's a capture.
But I've realized that there's a distortion or a stretching of the image to the edges of the MapControl. My indicator are only exact when on the center and on the edges (both horizontally and vertically). when more far from these points, it's bigger the offset.
Here are more pictures showing the distortion (very noticeable on the Sun and Moon spheres):
Same Field of View. Only changed the heading and the pitch of the scene.
I can't change the distortion because it's MapControl rendering engine's work, but can I know how it's distorted both vertically and horizontally? It's known the formula the percentile offset that I have to add to the indicators?
Thank you
What you're describing is expected. The map control uses a standard 3D projection matrix to take the 3D world scene and project it into 2D coordinates on your screen. This produces a non-linear scaling across the screen. See this post for example Projection Matrix The same is true for any actual camera lens for physical cameras. Depending on the field of view you will get distortion towards the edge of of the frame, with wider fields of view having increasingly large distortion.