我应该在这个矩阵计算中乘以什么来配置我的触摸屏?

我应该在这个矩阵计算中乘以什么来配置我的触摸屏?

我使用 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 之间的范围内。

相关内容