在winform中,想获取鼠标旋转的角度大小和方向,应该怎么办?对于角度大小,我的思路是原始点、鼠标按下是的点和鼠标松开时的点,构成三角形求出角度大小,但是如何确定顺时针还是逆时针方向了?谢谢
解决方案 »
- 关闭子画面,更新主画面!!!
- 将DataTable 批量写入数据库,遇到一个郁闷问题.向高手请教解决方法 .
- [Help]如何实现让程序来修改MSN和QQ的状态?
- 关于datagridview刷新问题
- 在C#中写个WinForm程序打开IE浏览器,如何控制IE的窗口大小和屏蔽工具栏、地址栏??
- 小小的疑问~~
- SQL如何清楚空格或换行符!!!!!!!!!!!送分!!!!!!!!!!!!!
- winform中,图片右键点击如何出现菜单?
- 能不能在WINCE下用Kernel32.dll的GetPrivateProfileString()函数????
- 请教一下谁写过客户端与服务端通信
- 为什么string.format中,月份要用大写的mm
- gridview数据源转换成table问题
以旋转中心O为原点建立直角坐标系xOy
MouseDown:得到初始点A,转换得到其在xOy的坐标,求得xOy纵坐标正半轴与OA的夹角α1;总旋转角θ = 0
第一次MouseMove,得到点B,同上求得α2,旋转角θ1 = α2 - α1(注意θ1是带正负号的);θ += θ1
第二次MouseMove,θ2 = α3 - α2;θ += θ2
...
MouseUp:得到结束点Z。θn = αn+1 - αn;θ += θn。
θ为正表示顺时针旋转,负为逆时针。
可以将θ作为最终旋转角度;或者根据A、O、Z点(或α1和αn+1)求得最终旋转角度,这时θ仅作为判断顺逆时针的依据。
还有我上面对αn的描述,或者说各个θn的求法有问题。总的思想不变,但做的时候可能要区别不同象限的点进行不同的处理。