我正在尋找一種簡單的,編程方式來檢測用戶是否繪製了圓形。我在C工作,但很高興從僞代碼工作。一些谷歌搜索帶來了一些(希望)過於複雜的方法。簡單的圓形手勢檢測
我正在跟蹤鼠標座標作爲浮點數,並創建了一個矢量數組來跟蹤鼠標隨着時間的移動。基本上,我正在尋找檢測何時繪製了一個圓,然後忽略與該圓不相關的所有移動數據。
我有多麼這可能是完成了基本思路:
跟蹤使用輪詢功能,所有的動作。每次輪詢該功能時,都會存儲當前的鼠標位置。在這裏,我們通過歷史位置數據循環並做一個粗略的「定位」來比較兩個位置。如果新位置距舊位置足夠近,我們會刪除舊位置之前的所有歷史數據。
雖然這在理論上是有效的,但實際上卻是一團糟。有沒有人有什麼建議?如果建議的方法可以檢測到它是順時針還是逆時針抽取,則爲獎勵分數。
如果手勢檢測是這裏的主要話題,我會實際上去與某種觸發計時器的事件。我目前正在使用Qt進行自定義手勢的工作,並使用鼠標按鈕作爲採集樣本的起點。一旦發生其他特定事件(例如釋放鼠標按鈕),此計時器就會停止。在開始和結束時間點,可以檢測鼠標是否正在移動並收集光標的位置。通過這種方式,您將獲得較少的數據以及明確定義的一組點,每個點描述從開始到結束的移動。 – rbaleksandar