0

設置屏幕座標映射的邏輯座標,以便邏輯座標中具有(-5,-4)到(+5,+6)範圍的圖被映射到像素爲 的屏幕從0到300,400座標。用戶點擊像素200,300。這個 在圖的邏輯座標中對應什麼?邏輯和屏幕座標

我們是否創建矩陣(30x 40y 1)?然後200 = 30x => x = 6.67 300 = 40y => y = 7.5

+0

SO不適合做你的功課。 – 2011-05-01 11:09:34

+0

它不是功課。 – JustCurious 2011-05-01 11:16:07

回答

1

對於X,您需要從(0,300)到(-5,+5)的映射。因此,您需要一個線性函數f(x),使f(0)= - 5和f(300)= + 5。您可以通過以下方式將其寫下:

f(x) = -5 + [(+5 - -5)/(300 - 0)]x 
    = -5 + (10/300)x 

您可以將相同的邏輯簡單地應用於其他座標軸。

由於屏幕矩形的左上角位於(0,0),但即使不是這種情況,也可以遵循相同的原理,從而簡化了此問題。

+0

非常感謝。這真的很有幫助。使用如上所示的矩陣的結果是相同的,但是在每種情況下減去平移X和Y.即x = 6.67-5 = 1.67和y = 7.5-4 = 3.5 – JustCurious 2011-05-01 14:01:13

+0

很明顯,你可以用矩陣做同樣的線性變換,但我認爲你沒有獲得任何收益。如果這回答你的問題,那麼請記住將其標記爲接受的答案。 – 2011-05-01 14:02:41