发明名称 一种支持用户自定义手势的多点触控应用程序开发方法
摘要 本发明公开了一种支持用户自定义手势的多点触控应用程序开发方法,采用能够返回触点的二维坐标点数据的多点触控设备,设置一提供给开发者用于实现多点触控应用程序开发的工具箱,工具箱中包含手势标识注册模块、手势定义模块、手势导向模块以及手势描述和识别模块;开发者使用手势标识注册模块注册手势标识和配置手势状态;按照已配置的手势状态实现手势响应操作;使用手势定义模块为用户提供手势定义视图,由用户完成手势定义并将手势标识与已定义手势之间进行映射。本发明可以让开发者方便快捷的开发出多点触控应用程序,并能够让用户依据自己的惯来定义手势;所提供的工具箱界面友好,交互性能强,体现了更加人性化、个性化的设计思想。
申请公布号 CN102622225B 申请公布日期 2015.01.14
申请号 CN201210044289.8 申请日期 2012.02.24
申请人 合肥工业大学 发明人 刘晓平;李琳;张光刘;陆劲挺;谢文军
分类号 G06F9/44(2006.01)I;G06F3/041(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 安徽省合肥新安专利代理有限责任公司 34101 代理人 何梅生
主权项 一种支持用户自定义手势的多点触控应用程序开发方法,采用支持多点触控的设备,所述多点触控设备能够返回触点的二维坐标点数据,其特征是:设置一提供给开发者用于实现多点触控应用程序开发的工具箱,所述工具箱中包含手势标识注册模块、手势定义模块、手势导向模块以及手势描述和识别模块;开发者按照以下步骤使用工具箱实现多点触控应用程序实例开发:步骤一:开发者在多点触控应用程序实例中使用所述手势标识注册模块注册手势标识和配置手势状态,按照已配置的手势状态实现手势响应操作;步骤二:开发者在多点触控应用程序实例中使用所述手势定义模块为用户提供手势定义视图;由用户完成手势定义并将手势标识与已定义手势之间进行映射,可以将多个定义的手势映射到同一个手势标识,但不可将一个定义的手势映射到多个手势标识;所述手势导向模块为用户定义手势提供消解二义性手势界面,导向用户定义出无二义性的手势;在所述手势描述和识别模块中,手势是由一个或一个以上元手势之间按照时序逻辑和空间位置逻辑约束组合而成;手势描述是由手势轨迹的形状特征、方向特征、时序逻辑特征和空间位置特征来表征;手势识别是由元手势个数相似度、形状相似度、方向相似度、时序逻辑和空间位置相似度匹配测度来衡量;所述手势轨迹的形状特征、方向特征、时序逻辑特征和空间位置特征分别为:所述形状特征:将元手势轨迹分为点、直线和曲线,计算点的尺寸大小、直线的斜率和曲线的曲率参数,以及元手势轨迹的长度作为形状特征的特征值;所述方向特征:方向特征集合形式化描述为<img file="FDA0000558961780000011.GIF" wi="833" he="81" />其中,p<sub>i</sub>为元手势轨迹的相邻关键轨迹点;所述时序逻辑特征:按照元手势之间的先后时序关系,限定为先后发生、同时发生或交叠发生的时序逻辑特征,时序逻辑描述分别为:元手势i先于元手势j发生,即:priority(G<sub>i</sub>,G<sub>j</sub>)=E<sub>i</sub>≤S<sub>j</sub>;元手势i和元手势j同时发生;即:chorus(G<sub>i</sub>,G<sub>j</sub>)=S<sub>i</sub>≡S<sub>j</sub>;元手势i和元手势j交叠发生;即:overlaps(G<sub>i</sub>,G<sub>j</sub>)=S<sub>i</sub>&lt;S<sub>j</sub>&lt;E<sub>i</sub>;其中,S<sub>i</sub>和E<sub>i</sub>分别为元手势i的起始和终止时间;S<sub>j</sub>和E<sub>j</sub>分别为元手势j的起始和终止时间;所述空间位置特征:是指时间序列相邻的元手势i和元手势j之间存在的空间位置关系;所述空间位置关系限定为相对于手势中心点的上下左右四个位置;所述手势中心点通过计算手势所包含元手势坐标的中心的算术平均值而获得;关于相似度:元手势个数相似度<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>S</mi><mrow><mo>(</mo><msub><mi>M</mi><mi>i</mi></msub><mo>,</mo><msub><mi>M</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo><mi>m</mi><mo>=</mo><mi>n</mi></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi>m</mi><mo>&NotEqual;</mo><mi>n</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000558961780000021.GIF" wi="480" he="156" /></maths>其中m与n分别是手势M<sub>i</sub>和手势M<sub>j</sub>所包含的元手势个数;形状相似度由Hausdorff距离来度量;<img file="FDA0000558961780000022.GIF" wi="706" he="77" />和<img file="FDA0000558961780000023.GIF" wi="690" he="83" />分别为元手势i和元手势j的曲率特征点集,则Hausdorff距离表示为:H(C<sub>i</sub>,C<sub>j</sub>)=max(h(C<sub>i</sub>,C<sub>j</sub>),h(C<sub>j</sub>,C<sub>i</sub>));其中<img file="FDA0000558961780000024.GIF" wi="617" he="100" /><img file="FDA0000558961780000025.GIF" wi="595" he="100" />||·||为曲率特征点集C<sub>i</sub>和C<sub>j</sub>的欧氏距离;方向相似度由向量余弦定义;时序逻辑相似度是由手势M<sub>i</sub>和手势M<sub>j</sub>所包含的元手势之间存在的时序关系是否一致来判定;空间位置相似度是由手势M<sub>i</sub>和手势M<sub>j</sub>所包含的元手势之间空间位置关系是否一致来判定。
地址 230009 安徽省合肥市屯溪路193号