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)になるということです。私にとって、それは本当に数学の問題です。参照のために回転行列のウィキペディアページをチェックしてください。https://en.wikipedia.org/wiki/Rotation_matrix。
元の空間に再変換する場合、「原点」が中央にない場合、回転によって一部の要素が元の絶対位置から離れます。この記事では、デバイスマッピングとコンピュータグラフィックスについてさらに詳しく説明し、変換と倍率の引数に関する情報について説明します(アフィン変換セクションを参照)。 https://en.wikipedia.org/wiki/Transformation_matrix