2012-06-07 186 views
0

我有以下二維正投影建立在我的iPad:如何屏幕座標轉換成2D OpenGL的座標

  • 地在顯示屏的中央
  • (+ 1,+ 1)在右上角
  • (-1,-1)中的右下角
  • 這被調整爲iPad的1.333寬高比所以X上運行從-1.33到1.33

iPad是景觀帶其左邊與屏幕共同ORDS這樣的按鈕:

  • 原點在左上角

如何右下角

  • (1024,768)我計算用戶觸摸屏幕時的2D GL位置? iOS爲我提供了用戶點擊的屏幕位置。如果我在中間點擊屏幕,iOS告訴我我在(512,384)處點擊,所以這應該被轉換爲(0,0),(1024,768)到(-1.33,1.0)等等。

    我知道這應該是一個相當直接的數學,但是我的大腦在試圖找出它後變得糊塗。

  • 回答

    1

    對於尺寸瓦特ħ,映射到屏幕[-1,-1] ...... [1,1]是這樣的:

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

    要匹配的縱橫比屏幕的X乘以W/H。

    +0

    Piku在他的問題上有點混亂。他的x GL座標是[-1.33,133],因此通過將縱橫比(1.33)乘以X來編輯X. –

    +0

    @MaticOblak:在1024x768的屏幕上,w/h約爲1.33。 –

    相關問題