首页 > 如何用js计算出鼠标移动的方向和某条直线之间的角度?

如何用js计算出鼠标移动的方向和某条直线之间的角度?

页面上有一条直线(不一定是水平的),现在当鼠标在其上面移动的时候要获取mousemove时的方向与该直线的夹角是多少度,有什么好的思路?


1 先获取直线的2各端点和鼠标当前相对于直线所在容器的坐标值
2 设直线的2各个端点的坐标PS(x1,y1) PE(x2,y2)
3.当前鼠标点位置M(x3,y3)
4.直线的结束点(题目中的右下方点)设为坐标原点(0,0)
5.直线点的坐标转成PS(x1-x2,(y1-y2)*-1) PE(0,0)
6.鼠标点位置M(x3-x2,(y3-y2)*-1)
4.求出直线和水平线的夹角PA=Math.atan2(PE.y-PS.y,PE.x-PS.x)*180/Math.PI;
5.求出鼠标点和PE点之间的直线和水平线之间的夹角MA
6.PA-MA的差就是你期望的角度


offsetx和offsety方法看看,应该能做好!
关于这几个方法的说明

【热门文章】
【热门文章】