试图确定一个点周围的运动矢量是CW还是CCW

时间:2011-07-15 18:19:56

标签: ios touch unity3d

我正在为iOS设备编写一些Touch输入代码,需要确定滑动的移动是相对于屏幕中心的顺时针还是逆时针。

使用触摸的positiondeltaPosition,我可以计算从屏幕中心到使用点积的那些点之间的矢量之间的角度,但这不会给我一个签名角度来决定是否CW。

如何确定滑动中心周围的哪个方向?

1 个答案:

答案 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(如果我得到心算数学权利)。零始终意味着直接朝向或直接远离中心移动。