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 に答える