`
心语2012
  • 浏览: 44849 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

math中atan2的应用

    博客分类:
  • js
 
阅读更多

在双十二活动中,视觉要求实现一个鼠标跟随运动的的效果,就像“”的那个效果类似

其实原理很简单,看鼠标从哪个方向进的及从哪个方向出的,然后区块里绝对定位的浮层就可以根据鼠标方向

运动;

:在鼠标进入事件中判断鼠标从左边进入区块那么定位层就从left:区块宽走到区块零,在鼠标离开事件中判断鼠标是从上边离开的那么定位层就从top:零走到负的区块高度就可以的。是不是很简单呢,但是有一个问题就是怎么判断方向?那么我们的atan2就隆重出场了。

看一下w3cshool上是怎么介绍atan2()的

atan2(x,y):返回-PI 到 PI 之间的值,是从 X 轴正向逆时针旋转到点 (x,y) 时经过的角度。

看维基网上的一张图:

 

那我们是不是计算出区块四个顶点的的atan2值,然和鼠标的atan2值比较确定范围看图:

 

是不由 

CB>=RB&&CB<RT就在左边


CB>=RT&&CB<LT就在上边

 

CB>=LB&&CB<RB就在下边

 

否则就在右边

 

是不是在鼠标进入及鼠标离开事件中就可以很容易的实现了

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics