입력 좌표를 회전하는 데 사용되는 Libinput 변환 행렬

입력 좌표를 회전하는 데 사용되는 Libinput 변환 행렬

libinput의 좌표 변환 행렬에 대한 공식 문서를 살펴보십시오. https://wayland.freedesktop.org/libinput/doc/1.1.0/group__config.html#ga09a798f58cc601edd2797780096e9804

마지막에는 다음과 같이 말합니다.

모든 회전에는 회전된 좌표를 원래 장치 공간으로 다시 변환하기 위한 추가 변환 구성 요소가 필요합니다.

이러한 번역 구성 요소가 결정되는 방법. 좌표를 시계 반대 방향으로 90도 회전하는 변환 행렬은 다음과 같습니다.

 0  1  0
-1  0  1
 0  0  0

이 예의 변환 좌표는 0및 입니다 1.

답변1

나에게 이것은 직선 대수학처럼 보입니다. 무슨 말인지 궁금해서 링크 확인해 봤습니다. 페이지가 회전 주제에 대해 논의하기 시작하면 첫 번째 이미지는 코사인과 사인으로 가득 차 있습니다. 깨달아야 할 것은 90도 단위로 회전을 처리할 때 cos(a), sin(a), -cos(a) 등이 모두 1과 0(및 가능하면 -1)이 된다는 것입니다. 나에게 그것은 정말 수학 문제이다. 참조를 위해 회전 행렬에 대한 Wikipedia 페이지를 확인하십시오.https://en.wikipedia.org/wiki/Rotation_matrix.

원래 공간으로 다시 변환하는 경우 "원점"이 중앙에 있지 않으면 회전으로 인해 일부 요소가 원래 절대 위치에서 멀어집니다. 이 문서에서는 장치 매핑과 컴퓨터 그래픽에 대해 더 자세히 설명하고 변환 및 배율 인수에 대한 정보를 포함합니다(아핀 변환 섹션 참조). https://en.wikipedia.org/wiki/Transformation_matrix

관련 정보