
私は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 i
に設定します0 0 1
。
さらに高度な処理を実行する場合は、この計算の目的で、old_x/new_x などが 0 から 1 の範囲にあることを知っておく必要があります。