一種在觸屏設備中生成滑動軌跡的方法和裝置的制造方法
【技術領域】
[0001]本申請涉及終端技術領域,尤其涉及一種在觸屏設備中生成滑動軌跡的方法和裝置。
【背景技術】
[0002]隨著智能終端技術的不斷發展,越來越多的智能終端使用觸摸顯示屏。用戶可以通過在觸摸顯示屏上滑動手指來實現對應的操作。為提升用戶的操作體驗,諸多操作系統以及APP(Applicat1n,應用軟件)都可以模擬用戶手指滑動的軌跡,比如:游戲“切水果”
坐寸ο
[0003]目前,模擬生成用戶手指在觸摸顯示屏上的滑動軌跡主要是通過拼接滑動軌跡上的點來實現。其中,根據滑動方向,越早產生的點拼接出來的線段越細,往后逐漸加粗。然而,僅僅依靠線段的粗細來展示滑動過程,不夠真實、也不夠平滑。
【發明內容】
[0004]有鑒于此,本發明提供一種在觸屏設備中生成滑動軌跡的方法和裝置。
[0005]具體地,本申請是通過如下技術方案實現的:
[0006]一種在觸屏設備中生成滑動軌跡的方法,所述方法包括:
[0007]監聽觸摸事件,獲取用戶在觸摸屏上的觸點軌跡;
[0008]建立坐標系,將所述觸點軌跡映射到所述坐標系;
[0009]選取所述觸點軌跡上的多個觸點對應的坐標,根據所述觸點對應的觸摸發生的時間順序依次連接所述觸點對應的坐標以形成第一折線;
[0010]在所述第一折線的兩側分別生成第二折線和第三折線,連接所述第二折線和第三折線,以形成閉合多邊形;
[0011]分別對所述第二折線和第三折線進行曲線擬合,以生成滑動模擬曲線;
[0012]根據所述滑動模擬曲線繪制觸摸滑動軌跡。
[0013]進一步地,所述分別對所述第二折線和第三折線進行曲線擬合包括:
[0014]分別對所述第二折線和第三折線進行二次貝塞爾曲線擬合,以生成滑動模擬曲線。
[0015]進一步地,所述在所述第一折線的兩側分別生成第二折線和第三折線包括:在所述第一折線的兩側各選取N-1個參照點,所述參照點分別與所述第一折線上第二個點至第N個點對應;N為大于2的自然數;
[0016]將所述第一折線上第一個點分別和所述第一折線每側的N-1個參照點按照滑動方向連接,以生成第二折線和第三折線。
[0017]進一步地,所述在所述第一折線的兩側各取N-1個參照點包括:
[0018]分別為所述第一折線的N-2個夾角生成對應的角平分線;
[0019]在所述角平分線上預設的位置處取得所述第一折線上第二個點至第N-1個點對應的參照點;
[0020]在所述第一折線上第N個點垂直于所述第一折線上第N-1個線段的方向的預設位置處取得所述第N個點對應的參照點;
[0021]其中,所述預設的位置有兩個,分別位于所述第一折線的兩側,且與第一折線上對應的點的距離相同。
[0022]進一步地,所述參照點與其對應的第一折線上的點的距離按照滑動方向依次增大。
[0023]進一步地,所述分別對所述第二折線和第三折線進行二次貝塞爾曲線擬合包括:分別以所述第二折線和第三折線上第一點為起始點,第二個點為控制點,第二條線段中點為結束點,生成第一段二次貝塞爾曲線;
[0024]分別以所述第二折線和第三折線上第i條線段中點為起始點,第i + Ι個點為控制點,第i+Ι條線段中點為結束點,生成第i段二次貝塞爾曲線,其中,i是2開始的自然數,且i小于N-2 ;
[0025]分別以所述第二折線和第三折線上第N-2條線段的中點為起始點,第N-1個點為控制點,第N個點為結束點,生成第N-2段二次貝塞爾曲線。
[0026]一種在觸屏設備中生成滑動軌跡的裝置,所述裝置包括:
[0027]獲取單元,獲取用戶在觸摸屏上的觸點軌跡;
[0028]映射單元,建立坐標系,將所述觸點軌跡映射到所述坐標系;
[0029]形成單元,選取所述觸點軌跡上的多個觸點對應的坐標,根據所述觸點對應的觸摸發生的時間順序依次連接所述觸點對應的坐標以形成第一折線;
[0030]生成單元,在所述第一折線的兩側分別生成第二折線和第三折線,連接所述第二折線和第三折線,以形成閉合多邊形;
[0031]擬合單元,分別對所述第二折線和第三折線進行曲線擬合,以生成滑動模擬曲線.
[0032]繪制單元,根據所述滑動模擬曲線繪制觸摸滑動軌跡。
[0033]進一步地,所述擬合單元,具體用于分別對所述第二折線和第三折線進行二次貝塞爾曲線擬合,以生成滑動模擬曲線。
[0034]進一步地,所述生成單元包括:
[0035]參照點選取子單元,在所述第一折線的兩側各選取N-1個參照點,所述參照點分別與所述第一折線上第二個點至第N個點對應,N為大于2的自然數;
[0036]參照點連接子單元,將所述第一折線上第一個點分別和所述第一折線每側的N-1個參照點按照滑動方向連接,以生成第二折線和第三折線。
[0037]進一步地,所述參照點選取子單元,具體用于分別為所述第一折線的N-2個夾角生成對應的角平分線;
[0038]在所述角平分線上預設的位置處取得所述第一折線上第二個點至第N-1個點對應的參照點;
[0039]在所述第一折線上第N個點垂直于所述第一折線上第N-1個線段的方向的預設位置處取得所述第N個點對應的參照點;
[0040]其中,所述預設的位置有兩個,分別位于所述第一折線的兩側,且與第一折線上對應的點的距離相同。
[0041]進一步地,所述參照點與其對應的第一折線上的點的距離按照滑動方向依次增大。
[0042]進一步地,所述擬合單元分別對所述第二折線和第三折線進行二次貝塞爾曲線擬合包括:
[0043]分別以所述第二折線和第三折線上第一點為起始點,第二個點為控制點,第二條線段中點為結束點,生成第一段二次貝塞爾曲線;
[0044]分別以所述第二折線和第三折線上第i條線段中點為起始點,第i + Ι個點為控制點,第i+Ι條線段中點為結束點,生成第i段二次貝塞爾曲線,其中,i是2開始的自然數,且i小于N-2 ;
[0045]分別以所述第二折線和第三折線上第N-2條線段的中點為起始點,第N-1個點為控制點,第N個點為結束點,生成第N-2段二次貝塞爾曲線。
[0046]由以上描述可以看出,本申請通過為滑動手勢模擬閉合多邊形,然后對所述閉合多邊形的第二折線和第三折線進行曲線擬合,進而生成所述滑動手勢對應的閉合滑動軌跡,可以生成平滑、有粗細變化的滑動軌跡,使得所述滑動軌跡更加真實。
【附圖說明】
[0047]圖1是本申請一種實施例中生成滑動軌跡的方法的流程示意圖。
[0048]圖2是本申請一種實施例中滑動手勢的曲線示意圖。
[0049]圖3是本申請一種實施例中第一折線示意圖。
[0050]圖4是