我正在为iOS设备编写一些Touch输入代码,需要确定滑动的移动是相对于屏幕中心的顺时针还是逆时针。
使用触摸的position
和deltaPosition
,我可以计算从屏幕中心到使用点积的那些点之间的矢量之间的角度,但这不会给我一个签名角度来决定是否CW。
如何确定滑动中心周围的哪个方向?
答案 0 :(得分:5)
让 A 表示滑动矢量, B 从滑动开始到屏幕中心的矢量。然后,您可以计算 A 和 B 组件的决定因素:
| A.x A.y |
| B.x B.y |
= A.x * B.y - B.x * A.y
行列式的符号将告诉您 B 是指向 A 的右侧还是左侧。
正如@Jeremy W. Sherman正确指出的那样,哪个标志对应于哪个方向取决于屏幕坐标系的布局方式。如果 x 轴向右运行而 y 轴向下运行,则正数表示CW,负数表示CCW(如果我得到心算数学权利)。零始终意味着直接朝向或直接远离中心移动。