日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

浏览器手势识别原理

發布時間:2024/1/1 HTML 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浏览器手势识别原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下內容轉自:
鏈接:https://www.zhihu.com/question/20607813/answer/1396981185
來源:知乎
?

Stroke 是作者的一款開源鼠標手勢,支持復雜手勢。

對于這個問題,我覺得可以細分為這樣兩個子問題:

  • 如何表示數據。
  • 如何度量相似度。
  • 對于問題一,需要將用戶劃出的手勢表示出來,同樣的圖形但大小不同應該識別成同一手勢。我認為用一組單位向量是比較合適的。在 Stroke 的代碼中,總是將用戶劃出的手勢圖形平分成 128 個向量,再將每個向量轉換為單位向量(由于計算效率的原因實際上使用的是 127 倍的單位向量)。這樣一來,無論用戶劃出的手勢長或短、大或小,只要它們在結構上是一樣的,那么表示它們的數據也是一樣的。例如下圖兩種情況:

    對于問題二,要比較單位向量的相似度,最自然想到的是使用余弦相似度來度量。即計算兩個向量的余弦值,比較兩組數據的每個相對應的向量,將它們產生的這 128 個余弦值累加起來,最終得到的結果應該會在 [-128, 128] 之間,數值越大表示越相似。此時,我們只需要設定一個閾值,超過這個閾值就認為匹配上了,若存在多個匹配成功的結果,則取最大值的即可。

    關于具體實現,請點擊以下鏈接:

    https://github.com/poerin/Stroke/blob/master/Stroke/Gesture.cs?github.com/poerin/Stroke/blob/master/Stroke/Gesture.cs

    以下內容轉自:

    瀏覽器鼠標手勢原理簡析 - 走看看

    瀏覽器市場百家爭鳴、百花齊放,每款瀏覽器都有自己的特色和亮點,但是基本功能都相差不大,其中一個比較通用的功能就是瀏覽器的鼠標手勢,而且鼠標手勢一般由8個中的兩個或多個組成。例如淘寶瀏覽器的【回底部】是由組成,【刷新】是由組成。

    鼠標手勢在很多瀏覽器都有廣泛使用,有瀏覽器自帶的,可以直接使用,如360瀏覽器、sogou瀏覽器,也有需要用戶安裝擴展才能用的,如Chrome、Opera。鼠標手勢之所以得到廣大用戶的親睞,與其簡單、作用范圍廣、功能常用有很大的關系。但是很少人知道鼠標手勢的鼻祖是Opera瀏覽器。

    那么鼠標手勢是怎么實現的呢,從表現上看貌似很復雜,但是原理并不是想象的那么難。鼠標手勢玩的就是算法,建立弧度向量表,根據鼠標軌跡的點計算方向,然后與預定義的鼠標手勢進行對比,取出最相似的一組。這幾個步驟當中都要用到不同的算法。首先是弧度向量表,以八個方向()的向量劃分弧度,并按一定的精度建立一個弧度向量表。這還不夠,在現實使用中,往往鼠標軌跡和定義的不是完全匹配,例如畫直線可能會有點彎曲,斜向上的角度不一定正好是45度,當然這些問題都可以通過精度修正來解決,換句話說,就是允許有一定的誤差。

    VN:F [1.9.10_1130]

    please wait...

    Rating: 9.0/10?(2 votes cast)

    瀏覽器鼠標手勢原理簡析, 9.0 out of 10 based on 2 ratings 轉載務必注明出處Taobao QA Team,原文地址:http://qa.taobao.com/?p=15578

    總結

    以上是生活随笔為你收集整理的浏览器手势识别原理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。