0

我在 iPad 上设置了以下 2D 正交投影:

  • 原点位于显示屏中心
  • (+1,+1) 在右上角
  • (-1,-1) 在右下角
  • 这已调整为 iPad 的 1.333 纵横比,因此 X 从 -1.33 运行到 +1.33

iPad 是横向的,其按钮在左侧,屏幕坐标如下:

  • 原点在右下角
  • (1024,768) 在左上角

用户触摸屏幕时如何计算 2D GL 位置?iOS 给了我用户点击的屏幕位置。

即,如果我点击中间的屏幕,iOS 会告诉我我点击了 (512,384),所以这应该转换为 (0,0),(1024,768) 到 (-1.33,1.0) 等。

我知道这应该是一个相当直接的数学,但我的大脑在试图弄清楚之后变得糊涂了。

4

1 回答 1

1

对于尺寸为wh的屏幕,映射到 [-1, -1]...[1, 1] 如下所示:

X = 2*x/w - 1
Y = 1 - 2*y/h

要匹配屏幕的纵横比,请将 X 乘以 w/h。

于 2012-06-07T11:05:06.543 回答