2013-05-30 138 views
0

在我的C#应用​​程序中,我想通过计算鼠标移动角度差来限制水平和垂直滚动。计算鼠标移动角度变化

刨角度大于60度的角度需要跟踪为垂直滚动。

我有初始的X,Y位置和当前的X,Y位置。如何计算鼠标移动的角度。

任何帮助将不胜感激。

+2

曾听说过正弦和余弦?检查你的数学书... –

+0

你的意思是你想知道用户在同一个地点停留时是否旋转鼠标?恐怕这是不可能的。 – kramer65

+0

没有线性移动 – PropertyChangedEventHandler

回答

0

这会给你的角弧度:

int dx = Math.Abs(x2 - x1); 
int dy = Math.Abs(y2 - y1); 

double angleRadians = Math.Atan2(dy, dx); 

double angleDegrees = (angleRadians * 180)/Math.PI; 

你可能会想忽略的角度为其dxdy低于一定数量(像16将做到这一点)。