一种拖动移向判断的方法和系统技术方案

技术编号:6409071 阅读:245 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种拖动移向判断的方法和系统,本发明专利技术通过n个方向来判断拖动移向,其中共分为2n个夹角,拖动移向判断误差在360°/2n夹角内,n可以无限大扩展,n越大,误差越小,拖动移向更精确;计算坐标偏移量的正切值,再与正切表里取值进行比较,从而确定拖动移动的方向;本发明专利技术方法具有良好扩展性和通用性,可准确判断拖动移向的方向。

【技术实现步骤摘要】

本专利技术涉及拖动移向领域,尤其涉及一种拖动移向判断的方法和系统
技术介绍
当终端平台用户在一个画面上从某点拖动到另一个点来查看这个点区域的具体 画面时,通常需要判断拖动移动方向,根据移动方向和偏移量大小来获取和改变画面。 现有技术中,一般实现4个方向(上、下、左、右)的移动,即坐标轴方向,如图1所 示,现将坐标轴形成的4个夹角做2等分,即直线AB、CD,用虚线表示。用户从O点 拖动移向到另一点落在直线AB和CD所形成的夹角里面。在直线AB与CD所形成的夹 角AOC中,判定拖动移动方向为向上(即射线OE),依次类推,在夹角BOD里判定拖 动移动方向向下(即射线OF),在夹角COB里判定移动方向向左(即射线OG),在夹角 AOD里判定移动方向向右(即射线OH)。这是普遍的做法,显然这种判定方法不够准 确,比较粗略,例如,当用户通过原点O (坐标为(xl,yl))移动到P点(坐标为(x2, y2)),蓝色射线OP所示,该方法把移动方向归为向上移动了,其实该方向更倾向于斜向 右上方向OA(夹角45度)。这种方案在技术上实现,一般采用三角函数来具体判定另一 个落点P所在的区域,通常采用正切函数,通过斜率来判断,可行的一种算法为先大 概判断向X、Y轴移动方向,再比较X和Y坐标的偏移量,比如方向向上的判断条件为 y2 >yl&&|y2_yl| > |x2-xl|,其中y2>yl,限定了移动方向是X轴以上方向,包括夹 角GOC (代表方向向左)、夹角AOC (代表方向向上)、右夹角AOH(代表方向向右), 之后再通过条件|y2-yl| > |x2-xl|判定P点落在夹角AOC中,因为射线OP斜率的绝对值 大于1(临界条件就是P点落在射线OA或OC上,此时斜率绝对值为1,与X轴夹角为 45度或135度)。通过类似方法可以类推其他三个方向的条件。现有技术方案的缺点可用于判断拖动移向的方向数量少,而通常应用中需要判断更多方向,而且方 向越小,移动效果越差,拖动移向误差明显;现有技术的算法的扩展性不强,不具备伸 缩性,在某些终端平台,如JavaME中CLDC 1.0配置下,浮点数运算在特定的配置环境 下不支持,通用性不强。
技术实现思路
本专利技术实施例的目的在于提出一种拖动移向判断的方法和系统,旨在解决现有 技术中判断拖动移向的方向的数量少、误差大、刷新慢、不易扩展的问题。本专利技术实施例是这样实现的,一种拖动移向判断的方法,包括以下步骤自定义正切表赋值;触发拖动移向请求,确定起始点和终点;对所述的每个η等分夹角再进行二等分,形成第二个的η等分夹角;判断拖动移向是否为4个坐标轴方向重合;如果是,拖动移向的方向为其中的一个坐标轴方向;如果否,确定拖动移向所在象限;根据终点坐标相对于原点坐标偏移量的正切值与自定义正切表中的数值确定拖 动移向的方向。本专利技术实施例的另一目的在于提出一种判断拖动移向的系统,所述的系统包 括正切表初始模块、坐标处理模块、象限判断模块、移向判断模块;正切表初始模块,与坐标处理模块和移向判断模块相连,用于根据所要判断拖 动移向的方向的数量对正切表赋值,接收移向判断模块获取正切值的请求,并发送符合 条件的正切值到移向判断模块;坐标处理模块,与正切表初始模块和象限判断模块相连,用于触发拖动移向请 求,确定拖动移向起始点和终点坐标;象限判断模块,与坐标处理模块和移向判断模块相连,用于判断坐标处理模块 触发的拖动移向的所在象限,并请求移向判断模块根据拖动移向所在象限进行拖动移向 的判断;移向判断模块,与象限判断模块和正切表初始模块相连,用于接收象限判断模 块发来的拖动移向的所在具体象限的结果,k倍放大终点坐标相对于原点坐标的偏移量的 正切值,与正切表初始模块的各正切值逐个对比确定拖动移向的方向。本专利技术的有益效果本专利技术实施例中通过η个方向来判断拖动移向,其中共分为2η个夹角,拖动移 向判断误差在360° /2η夹角内(η可以无限大扩展,η越大,误差越小,),计算终点坐 标偏移量的正切值,再与正切表里取值进行比较,从而确定移动的方向;在不支持浮点 数运算的系统或设备中,把正切值无限放大;本专利技术支持所有系统和设备,扩展性好, 判断移动方向精确、误差小,准确率较高,刷新快。附图说明图1是现有技术判断拖动移向的方法示意图;图2是本专利技术实施例一种判断拖动移向的方法流程图;图3是本专利技术实施例8个方向判断拖动移向的方法示意图;图4是本专利技术实施例一种判断拖动移向的系统结构图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图和实施 例,对本专利技术进行进一步详细说明,为了便于说明,仅示出了与本专利技术实施例相关的部 分。应当理解,此处所描写的具体实施例,仅仅用于解释本专利技术,并不用以限制本发 明。本专利技术通过确定用来判断拖动移向的方向的数量,对自定义正切表进行赋值, 当触发拖动移向请求时,确定起始点和终点,以起始点为原点,确定水平X轴和垂直Y 轴,以原点和水平X轴为一条边开始绕原点均分为η个夹角,共形成η条边,每条边为一 个移向,再对每个夹角进行二等分,形成第二个η等分夹角,根据终点相对起点的偏移量的正切函数和自定义正切表中的数值确定拖动移向的方向。实施例一图2是本专利技术实施例一种判断拖动移向的方法流程图。所述的方法包括以下步 骤S201,自定义正切表赋值;根据判断拖动移向的方向的数量η (n ^ 2),来确定正切表的赋值,此处为了方便 理解,以8个方向为例说明,如图4所示,tanTable = {k*tan22.5°,k*tan67.5°丨,其中 tanTable为正切表,22.5°为360°分为16等分夹角的度数,67.5°为一个16等分夹角与 一个8等分夹角的和;其中k为正整数,当系统不支持浮点数运算时,k无限大,且每个 正切值的赋值是经调用外部工具生成;同样可以采用余切、正弦、余弦、正割、余割三角函数方法实现余切表、正弦 表、余弦表、正割表、余割表的赋值,具体算法类似,这里不做一一叙述;S202,触发拖动移向请求,确定起始点和终点;以8个方向为例说明,如图3所示,从O向P拖动,形成直线OP,O为起始 点,P为终点,其中OP可以为任何一个方向,此处以图4的OP位置为例,OP所在位置 为第一象限;S203,以起始点为原点,确定水平X轴和垂直Y轴;S204,以水平X轴为一条边开始围绕原点分为η等分夹角,共形成的η条边作为 移动的η个方向;以8个方向为例说明,如图4所示,共形成8等分夹角为ΒΟΑ、Α0Η、 HOG、GOF> FOE、EOD> DOC、COB,其中 8 条边 OA、OH、OG、OF、OE、OD、OC> OB为拖动移向的方向;S205,对所述的每个η等分夹角再进行二等分,形成第二个的η等分夹角;以8个方向为例说明,如图4所示,共形成第二个8等分夹角为IOJ、J0K、 KOL> LOM、MON、NOQ> QOR、ROI,其中,OP落入第二个8等分夹角后的拖动移 向的方向分别是 0J、01、OR、OQ > ON、OM、OL > OK;S206,判断拖动移向是否为4个坐标轴方向重合;根据Δ X、Δ Y的取值进行判断OP在坐标轴上本文档来自技高网
...

【技术保护点】
一种拖动移向判断的方法,其特征在于,所述方法包括以下步骤:自定义正切表赋值;触发拖动移向请求,确定起始点和终点;以起始点为原点,确定水平X轴和垂直Y轴;以水平X轴为一条边开始围绕原点起始点分为n等分夹角;对所述的每个n等分夹角再进行二等分,形成第二个的n等分夹角;根据终点坐标偏移量的正切值与自定义正切表中的数值的关系确定起始点和终点的连线的拖动移向。

【技术特征摘要】

【专利技术属性】
技术研发人员:宋叶祥
申请(专利权)人:深圳市融创天下科技发展有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1