问题描述
我在UWP项目上使用MapControl来模拟表面上的虚拟相机。在MapControl周围,我有一组指示器,例如标尺,用于显示航向(方位角)和俯仰(高程)。
这是一个捕捉。
但是我已经意识到图像在MapControl的边缘存在扭曲或拉伸。我的指标仅在中心和边缘(水平和垂直)时才是准确的。当距离这些点较远时,偏移量就更大。
我无法更改变形,因为它是MapControl渲染引擎的工作,但是我能知道它在垂直和水平方向上如何变形吗?知道公式,我必须添加到指标中的百分位偏移量吗?
谢谢
解决方法
您所描述的是预期的。地图控件使用标准的3D投影矩阵来拍摄3D世界场景并将其投影到屏幕上的2D坐标中。这会在整个屏幕上产生非线性缩放。参见此帖子,例如Projection Matrix 对于任何用于物理相机的实际相机镜头也是如此。根据视场的不同,您会朝着框架的边缘产生扭曲,而宽视场的扭曲会越来越大。