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

cha*_*ian 2 touch unity-game-engine ios

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

使用positiondeltaPosition触摸的,我可以从屏幕到使用点积这些点的中心计算向量之间的角度,但是这并没有给我签名的角度来决定它是否是CW与否.

如何判断滑动中心周围的哪个方向?

Aas*_*set 6

A表示滑动矢量,B表示从滑动开始到屏幕中心的矢量.然后,您可以计算AB组件的行列式:

| A.x A.y |
| B.x B.y |

= A.x * B.y - B.x * A.y
Run Code Online (Sandbox Code Playgroud)

行列式的符号会告诉你是否指向右侧或左侧一个.

正如@Jeremy W. Sherman正确指出的那样,哪个符号对应于哪个方向取决于屏幕坐标系的布局方式.如果x轴向右运行而y轴向下运行,则正数表示CW,负数表示CCW(如果我得到心理数学权利).零始终意味着直接朝向或直接远离中心的运动.