Drivers

用於旋轉輸入座標的 Libinput 變換矩陣

  • September 21, 2018

看看libinput的座標變換矩陣的官方文件: https ://wayland.freedesktop.org/libinput/doc/1.1.0/group__config.html#ga09a798f58cc601edd2797780096e9804

接近尾聲時指出:

請注意,任何旋轉都需要額外的平移組件才能將旋轉後的座標平移回原始設備空間。

這些翻譯成分是如何確定的。將座標逆時針旋轉 90 度的變換矩陣為:

0  1  0
-1  0  1
0  0  0

在這種情況下,平移座標是01

對我來說,這看起來像直線代數。我檢查了連結,看看你在說什麼。當頁面開始旋轉主題時,他們擁有的第一張圖像充滿了餘弦和正弦。要意識到的是,當您處理以 90 度為增量的旋轉時,cos(a)、sin(a)、-cos(a) 等都會變成 1 和 0(也可能是 -1)。對我來說,這真的是一道數學題。查看關於旋轉矩陣的維基百科頁面作為參考:https ://en.wikipedia.org/wiki/Rotation_matrix 。

關於翻譯回原空間;如果“原點”不在中心,則旋轉會將一些元素從原始絕對位置移開。本文更具體地討論了設備映射和電腦圖形,並包括有關轉換和縮放因子的資訊(查看仿射變換部分)。 https://en.wikipedia.org/wiki/Transformation_matrix

引用自:https://unix.stackexchange.com/questions/468511