在這個矩陣計算中我要乘什麼來配置我的觸控螢幕?

在這個矩陣計算中我要乘什麼來配置我的觸控螢幕?

我使用 2 個顯示器(左側為 1920x1080 觸控屏,右側為 1440x900)。如果我曾經使用過

xinput set-prop "Acer T230H" "Coordinate Transformation Matrix" 0.566 0 0 0 .71111 0 0 0 1

(作為矩陣值)

0.566    0       0
0        0.71111 0
0        0       1

x 座標計算正確,但 y 座標必須乘以 ~1.2 才正確。

我必須將 1.2 放在哪裡?

答案1

如果要縮放 y 座標,則應將 0.71111 乘以縮放因子 1.2。一般公式為:

如果矩陣是

a b c
d e f
g h i

那麼公式是

new_x = (a * old_x + b * old_y + c) / (g * old_x + h * old_y + i)
new_y = (d * old_x + e * old_y + f) / (g * old_x + h * old_y + i)

這是一個投影變換。在幾乎所有情況下(也就是說,除非您的顯示器是傾斜投影在牆上的投影儀,否則所有情況),您只需要一個線性變換,因此您將其設定g h i0 0 1

如果您打算做更高級的事情,那麼您應該知道,出於此計算的目的,old_x/new_x 等位於 0 和 1 之間的範圍內。

相關內容