精确捏缩放3D

时间:2013-11-30 10:38:55

标签: ios math 3d projection pinchzoom

我正在尝试在触摸设备上的3D场景中实现精确的缩放缩放。 3D场景只是一个平面,我有一个对角线向下瞄准的透视摄像头。如在此处,例如:

http://imggle.com/wp-content/uploads/2013/07/google-earth-images-64.jpg

当用户开始捏合手势时,我会在他的手指下投影屏幕坐标 进入飞机上的世界坐标。

现在我怎么能解决相机的位置,这样无论用户在哪里移动手指,相同的世界坐标都会“保持在他的指尖” - 即投射到屏幕空间的特定点?

非常感谢任何想法。

1 个答案:

答案 0 :(得分:0)

刚刚在OpenGL ES应用程序上实现了非常类似的东西,我建议使用平移手势识别器,然后根据平移中的像素数更新模型视图矩阵。

您需要在屏幕上的一个像素与OpenGL ES场景中的一个像素大致相同的位置校准平移(即您看起来像拖动一样)。如果您允许用户放大和缩小,这很容易做到,但如果不允许,您可能需要暂时在您的应用中实现此功能。