确定圆周运动的方向
Posted
技术标签:
【中文标题】确定圆周运动的方向【英文标题】:Determine Direction of Circular Motion 【发布时间】:2013-03-22 22:37:54 【问题描述】:我正在做一个运动检测程序,想确定一个人的手是顺时针还是逆时针运动。有人知道最好的方法吗? (我在 AS3 中编码,但任何类似 ECMA 的代码都会有所帮助)。
我相信一种方法是确定,例如,左右后跟从上到下还是从下到上等等——有没有更好的方法?
【问题讨论】:
【参考方案1】:如果你有一个参考点 (0,0),你可以采样角度随时间的变化:
var sprite:Sprite = new Sprite();
var samples:Array = [];
setInterval(function()
var len = samples.push(Math.atan2(sprite.mouseY,sprite.mouseX));
if ( len >=2 )
if ( samples[len-2]-samples[len-1] > 0 )
// clockwise
else
// counter-clockwise
,1000/stage.frameRate);
引用是精灵的左上角(或atan2
的自然0,0 点),所以这个sn-p 采样相对于精灵的鼠标坐标。
此外,您考虑的样本越多(我只对 2 个samples[len-2]
和samples[len-1]
进行抽样),cw 或 ccw 的决策就越好。
最后,也是最重要的一点,我的脚本确实在弧度计算中考虑了负数,它假设一切都是正数 - 这需要一些调整。
PS:您需要不时清除samples
,因为数组长度会达到最大值。
我的脚本不完整,欢迎编辑、建议和详细说明。我希望它能给你一些考虑和工作的东西。
【讨论】:
以上是关于确定圆周运动的方向的主要内容,如果未能解决你的问题,请参考以下文章