터치스크린을 구성하려면 이 행렬 계산에서 무엇을 곱해야 합니까?

터치스크린을 구성하려면 이 행렬 계산에서 무엇을 곱해야 합니까?

저는 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 사이의 범위에 있다는 것을 알아야 합니다.

관련 정보