一種獲取觸屏設(shè)備曲線操作軌跡的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及觸控設(shè)備領(lǐng)域,尤其涉及的是一種獲取觸屏設(shè)備曲線操作軌跡的方法 及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著觸屏設(shè)備普及,為保證產(chǎn)品的質(zhì)量,對(duì)其功能進(jìn)行自動(dòng)化測(cè)試變得十分必要。 而觸屏設(shè)備的大部分功能操作都與手勢(shì)等曲線操作軌跡相關(guān),因此解決自動(dòng)化測(cè)試觸屏設(shè) 備曲線操作軌跡功能的問(wèn)題迫在眉睫。
[0003] 現(xiàn)有技術(shù)中,在獲取曲線操作軌跡時(shí),會(huì)采集軌跡上所有的點(diǎn),并根據(jù)這些點(diǎn)來(lái)回 放,這會(huì)造成數(shù)據(jù)量過(guò)大的問(wèn)題。
[0004] 因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
【發(fā)明內(nèi)容】
[0005] 鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種獲取觸屏設(shè)備曲線操作軌 跡的方法及系統(tǒng),旨在解決現(xiàn)有技術(shù)中多點(diǎn)觸屏接收到的坐標(biāo)點(diǎn)不含有組別標(biāo)識(shí),不能快 速的根據(jù)接收到的坐標(biāo)點(diǎn)輸出曲線觸控軌跡路徑的缺陷。
[0006] 本發(fā)明的技術(shù)方案如下: 一種獲取觸屏設(shè)備曲線操作軌跡的方法,其中,包括: A、 獲取觸屏操作觸控點(diǎn)的坐標(biāo)值; B、 根據(jù)所述坐標(biāo)值判斷觸控軌跡是否為直線,若為直線則輸出直線操作軌跡;若不是, 則執(zhí)行步驟C; C、 按照坐標(biāo)值在坐標(biāo)上的排列順序,依次對(duì)屬于曲線軌跡上拐點(diǎn)的坐標(biāo)值進(jìn)行識(shí)別; D、 根據(jù)識(shí)別出拐點(diǎn)的坐標(biāo)值及觸控起點(diǎn)和觸控終點(diǎn)的坐標(biāo)值,輸出本次觸控點(diǎn)對(duì)應(yīng)的 曲線軌跡路線。
[0007] 所述獲取觸屏設(shè)備曲線操作軌跡的方法,其中,所述步驟B包括: B1、根據(jù)獲取觸控點(diǎn)的坐標(biāo)值的時(shí)間順序,識(shí)別出本次觸控操作起點(diǎn)和觸控終點(diǎn); B2、計(jì)算其他觸控點(diǎn)到所述起點(diǎn)與觸控終點(diǎn)連線的距離,判斷計(jì)算出的距離是否均小 于預(yù)設(shè)閾值,若均小于,則判定觸控軌跡為直線,否則為曲線軌跡。
[0008] 所述獲取觸屏設(shè)備曲線操作軌跡的方法,其中,所述步驟C包括: C1、利用AKIMA差值算法計(jì)算出曲線軌跡中排列在觸控點(diǎn)之前和之后兩個(gè)觸控點(diǎn)切線 的斜率,并根據(jù)計(jì)算的兩個(gè)斜率判斷所述觸控點(diǎn)是否為拐點(diǎn)。
[0009] 所述獲取觸屏設(shè)備曲線操作軌跡的方法,其中,所述步驟C包括: C2、將除拐點(diǎn)之外的其他觸控點(diǎn)的坐標(biāo)值進(jìn)行刪除。
[0010] 所述獲取觸屏設(shè)備曲線操作軌跡的方法,其中,所述步驟D還包括: D1、在識(shí)別出拐點(diǎn)的坐標(biāo)值及觸控起點(diǎn)和觸控終點(diǎn)的坐標(biāo)值之間按照預(yù)設(shè)值等距離插 入若干個(gè)坐標(biāo)值,并根據(jù)所述拐點(diǎn)的坐標(biāo)值及觸控起點(diǎn)和觸控終點(diǎn)的坐標(biāo)值、及插入后的 若干個(gè)坐標(biāo)值輸出曲線軌跡路線。
[0011] 一種獲取觸屏設(shè)備曲線操作軌跡的系統(tǒng),其中,包括: 坐標(biāo)值獲取模塊,用于獲取觸屏操作觸控點(diǎn)的坐標(biāo)值; 軌跡判定模塊,用于根據(jù)所述坐標(biāo)值判斷觸控軌跡是否為直線,若為直線則輸出直線 操作軌跡;若不是,則判定為曲線軌跡; 拐點(diǎn)識(shí)別模塊,用于按照坐標(biāo)值在坐標(biāo)上的排列順序,依次對(duì)屬于曲線軌跡上拐點(diǎn)的 坐標(biāo)值進(jìn)行識(shí)別; 曲線軌跡輸出模塊,用于根據(jù)識(shí)別出拐點(diǎn)的坐標(biāo)值及觸控起點(diǎn)和觸控終點(diǎn)的坐標(biāo)值, 輸出本次觸控點(diǎn)對(duì)應(yīng)的曲線軌跡路線。
[0012] 所述獲取觸屏設(shè)備曲線操作軌跡的系統(tǒng),其中,所述軌跡判定模塊包括: 起始點(diǎn)識(shí)別單元,用于根據(jù)獲取觸控點(diǎn)的坐標(biāo)值的時(shí)間順序,識(shí)別出本次觸控操作起 點(diǎn)和觸控終點(diǎn); 軌跡分析單元,用于計(jì)算其他觸控點(diǎn)到所述起點(diǎn)與觸控終點(diǎn)連線的距離,判斷計(jì)算出 的距離是否均小于預(yù)設(shè)閾值,若均小于,則判定觸控軌跡為直線,否則為曲線。
[0013] 所述獲取觸屏設(shè)備曲線操作軌跡的系統(tǒng),其中,拐點(diǎn)識(shí)別模塊包括: 斜率計(jì)算單元,利用AKIMA差值算法計(jì)算出曲線軌跡中排列在觸控點(diǎn)之前和之后兩個(gè) 觸控點(diǎn)切線的斜率,并根據(jù)計(jì)算的兩個(gè)斜率判斷所述觸控點(diǎn)是否為拐點(diǎn)。
[0014] 所述獲取觸屏設(shè)備曲線操作軌跡的系統(tǒng),其中,拐點(diǎn)識(shí)別模塊包括: 噪點(diǎn)剔除單元,用于將除拐點(diǎn)之外的其他觸控點(diǎn)的坐標(biāo)值進(jìn)行刪除。
[0015] 所述獲取觸屏設(shè)備曲線操作軌跡的系統(tǒng),其中,曲線軌跡輸出模塊包括: 數(shù)值插入單元,用于在識(shí)別出拐點(diǎn)的坐標(biāo)值及觸控起點(diǎn)和觸控終點(diǎn)的坐標(biāo)值之間按 照預(yù)設(shè)值等距離插入若干坐標(biāo)值,并根據(jù)所述拐點(diǎn)的坐標(biāo)值及觸控起點(diǎn)和觸控終點(diǎn)的坐標(biāo) 值、及插入后的若干個(gè)坐標(biāo)值輸出曲線軌跡路線。
[0016] 有益效果,本發(fā)明所述的一種獲取觸屏設(shè)備曲線操作軌跡的方法及系統(tǒng),通過(guò)獲 取觸屏操作觸控點(diǎn)的坐標(biāo)值;根據(jù)所述坐標(biāo)值判斷觸控軌跡是否為直線,若不是,則按照坐 標(biāo)值在坐標(biāo)上的排列順序,依次對(duì)屬于曲線軌跡上拐點(diǎn)的坐標(biāo)值進(jìn)行識(shí)別,并根據(jù)識(shí)別出 拐點(diǎn)的坐標(biāo)值及觸控起點(diǎn)和觸控終點(diǎn)的坐標(biāo)值,輸出本次觸控點(diǎn)對(duì)應(yīng)的曲線軌跡路線。本 發(fā)明所述方法及系統(tǒng)運(yùn)用離散數(shù)學(xué)知識(shí)快速尋找曲線軌跡的拐點(diǎn),剔除大量噪點(diǎn),在保證 準(zhǔn)確性的同時(shí),又大幅減少了數(shù)據(jù)量,適用于觸屏設(shè)備的手勢(shì)操作、圖案解鎖等相關(guān)功能測(cè) 試用例的錄制。
【附圖說(shuō)明】
[0017] 圖1為本發(fā)明所述獲取觸屏設(shè)備曲線操作軌跡的方法較佳實(shí)施例的流程圖。
[0018] 圖2為本發(fā)明中判斷是否為直線軌跡的原理示意圖。
[0019] 圖3為本發(fā)明中計(jì)算拐點(diǎn)的原理意圖。
[0020] 圖4為本發(fā)明所述獲取觸屏設(shè)備曲線操作軌跡的方法應(yīng)用實(shí)施例的流程圖。
[0021] 圖5是本發(fā)明所述一種獲取觸屏設(shè)備曲線操作軌跡的系統(tǒng)的原理結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0022] 本發(fā)明提供一種獲取觸屏設(shè)備曲線操作軌跡的方法及系統(tǒng),為使本發(fā)明的目的、 技術(shù)方案及效果更加清楚、明確,以下對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的 具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0023] 本發(fā)明提供了一種獲取觸屏設(shè)備曲線操作軌跡的方法,如圖1所示,包括: S1、獲取觸屏操作觸控點(diǎn)的坐標(biāo)值。
[0024] 用戶在通過(guò)觸屏設(shè)備的觸摸屏發(fā)出觸控操作時(shí),則觸控設(shè)備接收用戶在本次觸屏 操作時(shí)手指觸控點(diǎn)所對(duì)應(yīng)的坐標(biāo)值。
[0025] S2、根據(jù)所述坐標(biāo)值判斷觸控軌跡是否為直線,若為直線則輸出直線操作軌跡;若 不是,則執(zhí)行步驟S3。
[0026] 所述步驟S2包括: 521、 根據(jù)獲取觸控點(diǎn)的坐標(biāo)值的時(shí)間順序,識(shí)別出本次觸控操作起點(diǎn)和觸控終點(diǎn); 522、 計(jì)算其他觸控點(diǎn)到所述起點(diǎn)與觸控終點(diǎn)連線的距離,并判斷所述距離是否均小于 預(yù)設(shè)閾值,若均小于,則判定觸控軌跡為直線,否則為曲線軌跡。
[0027] 根據(jù)獲取到本次觸控點(diǎn)的對(duì)應(yīng)的坐標(biāo)值后,對(duì)所述坐標(biāo)值進(jìn)行分析,判斷本次觸 控操作的軌跡為直線還是曲線。
[0028] 具體的,如圖2所示為根據(jù)坐標(biāo)值對(duì)觸控操作的軌跡是直線還是曲線判斷方法的 原理圖,如圖2所示,在觸屏設(shè)備操作中,產(chǎn)生兩條操作軌跡ACP和ABP,A為操作軌跡的起 點(diǎn),P為操作軌跡觸控終點(diǎn)。本算法規(guī)定,當(dāng)操作軌跡上所有點(diǎn)到起點(diǎn)和觸控終點(diǎn)構(gòu)成的直 線AP的距離都小于闕值d時(shí),將該操作歸為是一個(gè)直線軌跡處理;當(dāng)操作軌跡上存在點(diǎn)到 起點(diǎn)和觸控終點(diǎn)構(gòu)成的直線AP的距離大于闕值d時(shí),將該操作歸為是一個(gè)曲線軌跡處理。
[0029] 根據(jù)兩點(diǎn)式可得到直線AP為
,將其 轉(zhuǎn)化為一般3
,根據(jù)點(diǎn) 到直線距離公¥
11計(jì)算出軌跡上的點(diǎn)到直線AP的距離,將計(jì)算出的距離值 與預(yù)設(shè)的閾值進(jìn)行比較,即可判定出本次操作是直線軌跡還是曲線軌跡。
[0030] S3、按照坐標(biāo)值在坐標(biāo)上的排列順序,依次對(duì)屬于曲線軌跡上拐點(diǎn)的坐標(biāo)值進(jìn)行 識(shí)別。
[0031] 若判定出本次觸控操作的軌跡為曲線,則根據(jù)坐標(biāo)值的排列順序,對(duì)其中屬于曲 線拐點(diǎn)的坐標(biāo)進(jìn)行識(shí)別,具體的,拐點(diǎn)識(shí)別的方法包括以下步驟: S31、利用AKIMA差值算法計(jì)算出曲線軌跡中排列在觸控點(diǎn)之前和之后兩個(gè)觸控點(diǎn)切 線的斜率,并根據(jù)計(jì)算的兩個(gè)斜率判斷所述觸控點(diǎn)是否為拐點(diǎn)。
[0032] 如圖3所示,以曲線ACP為觸屏設(shè)備一曲線操作軌跡,其中C為該曲線的一個(gè)拐 點(diǎn)。根據(jù)拐點(diǎn)的特性可知,拐點(diǎn)處是曲線上升下降趨勢(shì)驟變的點(diǎn),因此可以根據(jù)拐點(diǎn)C前后 兩點(diǎn)B和D處切線的斜率來(lái)判斷C是否為拐點(diǎn)。假設(shè)切線Lb的斜率為Kb,切線Ld的斜率 為Kd,貝1」在以下兩種情況下可斷定c為拐點(diǎn),1): _ X Kd < 0,2): _ = a e (I或 肋+讀Kd = 0。
[0033] 優(yōu)選的,可以通過(guò)AKIMA差值算法求任一觸控點(diǎn)i(ij,yj)處切線的斜率,借助 E點(diǎn)前后各兩個(gè)點(diǎn),假如排列在E點(diǎn)前后兩點(diǎn)的坐標(biāo)分別為和
則由公式