【发布时间】:2013-06-29 18:07:19
【问题描述】:
给定触摸屏上描述转换(缩放 + 旋转 + 平移)的手势,我想更改视图矩阵和目标位置,以便手指保持粘在相机正在查看的地图上的相应点上。 这基本上是谷歌地图的行为。当相机(眼睛 - 目标)的方向矢量垂直于地图时,这很容易。但是,在透视发生变化并且不再正交的情况下,我无法弄清楚如何解决这个问题。
特别是旋转,只要方向视图与所观察的平面正交,就微不足道(您围绕未投影的屏幕旋转中心旋转目标和眼睛,因此旋转视图矩阵的轴)。每当正交性丢失时,这变得很困难。事实上,在这种情况下,旋转似乎变成了椭圆,我迷失了新目标的位置。 有什么想法吗?
【问题讨论】:
-
为什么投反对票?这是一个有趣的问题。
-
您能否更具体地说明“手指在地图上保持粘性”的含义?
-
我认为他的意思是他正在绘制地图 à la 谷歌地图。当您用一根手指拖动时,该手指在地图上的投影保持在相同的位置,因为相机是平移的(螃蟹)。两根手指也一样,因为相机围绕视图轴旋转并缩放。这对于正交投影很简单,但是如果地图倾斜,您如何进行透视投影呢?这是正确的,OP?还是你还在用正交投影,只旋转地图?