简单的多点触摸手势算法
1.ZOOM动作
1)检测到双指
DOWN事件,记录此时双指间的距离为
olddistant;
2)当双指移动时,实时计算双指间的距离
sampledistant;
3)计算出缩放比例:
zoom
= sampledistant / olddistant;
4)重复第
2,
3步直到
UP事件发生。
2.ROTATE动作
1)检测双指的
DOWN事件,记录此时双指坐标的
x坐标和
y坐标之差,和双指间的距离,分别记为
olddisx,olddisy,olddistant;
2)当双指移动时,记录此时两点间的距离
distant,disx,disy.
3)如果
olddistant与
distant的值接近,
disx,disy与
olddisx,olddisy的值有较大变化,则视为
rotate动作,
rotate的角度由
disy/disx,与
olddisy/olddisx的比值变化决定。
4)重复
2)
3)两步,直到
UP事件发生结束计算。