社区
数据结构与算法
帖子详情
多点触摸手势识别
花花圆圆
2009-06-26 02:25:26
1、两手指在触摸屏上做旋转的手势,如何判断是顺时针还是逆时针?可以得到刚触摸两点的坐标和旋转后两点的坐标,除了求角度的方法外还有什么方法?
2、缩放与旋转都是两个手指操作的,要把功能集成到一起,如何区别这两种手势?就是找到一个判断条件
路过的大虾帮帮忙啊!多谢了!!!!
...全文
584
22
打赏
收藏
多点触摸手势识别
1、两手指在触摸屏上做旋转的手势,如何判断是顺时针还是逆时针?可以得到刚触摸两点的坐标和旋转后两点的坐标,除了求角度的方法外还有什么方法? 2、缩放与旋转都是两个手指操作的,要把功能集成到一起,如何区别这两种手势?就是找到一个判断条件 路过的大虾帮帮忙啊!多谢了!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stevehsu
2010-02-07
打赏
举报
回复
歡迎參觀我的部落格有演示 blog.xi-ji.com
花花圆圆
2009-07-06
打赏
举报
回复
难道没有什么更好的方法了吗?既能判断准确又不耗很多时间的算法?
花花圆圆
2009-07-06
打赏
举报
回复
[Quote=引用 16 楼 tonnyyao 的回复:]
这里需要有跟踪算法。
举个例子,你现在用两个手指,对两个手指的触摸点进行跟踪,然后进行编号,设置ID分别为1和2。
在前一次运算得到1和2组成的向量,下一次运算又得到1和2组成的向量,这样通过向量的计算就得到你旋转的角度了。当然也有楼上说的1度和359度的取舍,这个我想只要程序做些设定就可以很快解决的。
[/Quote]
通过向量的计算得到旋转的角度,这相当于求两向量夹角的余弦值吧?求向量的模就会用到开根号,这个耗很多时间
花花圆圆
2009-07-06
打赏
举报
回复
多谢各位的建议
@井九
2009-07-05
打赏
举报
回复
用求角度区间
只和一些特殊角如30,45,60这些简单角度比较,得出角度区间应该就可以了吧,这样可以避免复杂计算。
fire_woods
2009-07-02
打赏
举报
回复
求角度不慢,只要你不要求atan,tan之类的.
花花圆圆
2009-07-02
打赏
举报
回复
[Quote=引用 13 楼 fire_woods 的回复:]
求角方向有什么问题呢?
还是有什么缺点?
[/Quote]
因为算法不是在PC上做,而是要做到单片机里,求角度的话耗很多时钟,单片机本身的处理速度肯定比不上PC机了,所以要换个算法.
tonnyyao
2009-07-02
打赏
举报
回复
缩放是根据这两个点形成的向量方向没有改变,或者基本没有改变(可设置筏值范围)。然后判断两个点之间距离的变化。
tonnyyao
2009-07-02
打赏
举报
回复
这里需要有跟踪算法。
举个例子,你现在用两个手指,对两个手指的触摸点进行跟踪,然后进行编号,设置ID分别为1和2。
在前一次运算得到1和2组成的向量,下一次运算又得到1和2组成的向量,这样通过向量的计算就得到你旋转的角度了。当然也有楼上说的1度和359度的取舍,这个我想只要程序做些设定就可以很快解决的。
ibone
2009-07-01
打赏
举报
回复
两点间距可判断 旋转或是缩放
旋转:可以放在以开始两点的中点为原点坐标的坐标系统判断,距离不变,短时间内XY的偏移方向,原点位移量小==
fire_woods
2009-07-01
打赏
举报
回复
知道点对(P1,P2)对应2个手指
缩放是|P1-P2|的变化
旋转是向量P1-P2的角度.
fire_woods
2009-07-01
打赏
举报
回复
求角方向有什么问题呢?
还是有什么缺点?
花花圆圆
2009-07-01
打赏
举报
回复
[Quote=引用 10 楼 fire_woods 的回复:]
知道点对(P1,P2)对应2个手指
缩放是|P1-P2|的变化
旋转是向量P1-P2的角度.
[/Quote]
除了求角度的方法还有别的吗?
用户 昵称
2009-06-29
打赏
举报
回复
没考虑上多点,好像多点就难太多了。
用户 昵称
2009-06-29
打赏
举报
回复
并不是太难,比如现在浏览器的鼠标手势动作,前一个动作都是后一个动作的基本条件,比如用鼠标在屏幕上画出^ 或 V并识别,可以这样做。
取第一个点的信息,然后等待第二个点,如果第二个点在其右上方,则表示这是 ^ 的一部分,然后采样第三个点,如果是向右下,表示是 ^ ,如果不是像右下方,则什么也不是。
花花圆圆
2009-06-29
打赏
举报
回复
没人了吗?自己顶下
花花圆圆
2009-06-29
打赏
举报
回复
有没有具体思路算法啊?高手们帮帮忙咯
花花圆圆
2009-06-29
打赏
举报
回复
[Quote=引用 7 楼 jennyvenus 的回复:]
没考虑上多点,好像多点就难太多了。
[/Quote]
最多就两个手指在触摸屏上操作,不然就没法实现多点了
showjim
2009-06-26
打赏
举报
回复
2.上下左右四个方向,分别表示放大,缩小,逆时针,顺时针,一个手指就行了,不知道符不符合需求;不行的话,两手指不同方向,靠近表示缩小,开分表示放大
绿色夹克衫
2009-06-26
打赏
举报
回复
其实以前google的一道面试题有个跟此题差不多。
说不能判断,是因为理论上存在这样的可能,比如你的采集频率是1000次每秒,比如你在千分之一秒中,顺时针转了1度,
这样大概1秒钟转3周,但假如你在千分之一秒中逆时针转了359度,你所在的位置同顺时针转1度是相同的。
不过咱们一般的处理方法是认为转了1度,而不是359度。
[Quote=引用 2 楼 lindahnu 的回复:]
引用 1 楼 litaoye 的回复:
只有4个点本来是不能判断的,但一般都是选择夹角较小的那个方向。
手指滑过的轨迹坐标都可以采到的,只是判断的时候要两组坐标值就可以了,初始和旋转后的
[/Quote]
加载更多回复(2)
touchegg:Linux
多点
触摸
手势识别
器
touchegg:Linux
多点
触摸
手势识别
器
Qt实现
多点
触控与
手势识别
Qt实现
多点
触控与
手势识别
Hammerjs实现
多点
触摸
手势的javascript库
Hammer.js:实现
多点
触摸
手势的javascript库
基于应用和形状特征的
多点
触摸
手势描述与识别方法
基于应用和形状特征的
多点
触摸
手势描述与识别方法
基于Linux系统的
多点
触摸
驱动设计.pdf
基于Linux系统的
多点
触摸
驱动设计.pdf
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章