0
A
回答
6
这是很容易做到的。所有你需要的是召回你的高中几何类:)
- 处理
ManipulationStarted
事件,保存你的起点在事件处理程序。我们称之为S
(开始)。 - 让
O
成为椭圆的中心。寻找矢量a = OS
。 - 在
ManipulationDelta
处理程序得到你的手指的位置。我们称之为M
。 - 查找矢量
b = OM
。 - 现在你可以用一个简单的公式:
var angle = Math.Abs(Math.Atan2(a.X, a.Y) - Math.Atan2(b.X, b.Y));
IPI的答案也不错,但角度由cos^-1
功能(如果你有一个坚实的彩色椭圆都不会有问题的限制,否则你的物体在到达pi/2
后会“传送”)。
+1
啊,我没有替代'Atan2'!好答案。 – 2014-09-03 14:22:36
1
如果您知道椭圆中心的位置,并知道手指的位置,则可以使用(finger vector) - (ellipse vector)
计算从椭圆到手指的矢量。
然后,当手指位置更新时,再次执行上述操作并将其分开存储。然后在两个矢量上执行点积:A . B = |A| |B| cos(theta)
。如果A和B是单位矢量(即幅度1),点积((A.x * B.x) + (A.y * B.y)
)将产生cos(theta)
。执行相反的操作,您将拥有弧度的角度。然后你可以执行你的旋转。
更多资源,精心的点积和矢量数学是一个谷歌搜索了......
相关问题
- 1. 如何在WPF中旋转椭圆
- 2. opengl:旋转椭圆
- 3. 用一根手指旋转UIView iPhone,iPad
- 4. 旋转/车削椭圆组
- 5. 椭圆旋转矩阵?
- 6. QML画布旋转椭圆
- 7. 围绕轴旋转一个椭圆
- 8. 使用手势旋转垂直拖动的椭圆
- 9. Java在KeyPress上旋转椭圆
- 10. 旋转的椭圆轨道无
- 11. Libgdx旋转椭圆碰撞检测
- 12. WPF椭圆路径
- 13. WPF使用椭圆进步
- 14. 旋转与油漆事件指定角度椭圆
- 15. 将椭圆的绘制点旋转为圆形
- 16. WPF TextBlock的重叠椭圆
- 17. 显示椭圆半径 - WPF
- 18. C#WPF椭圆滑块
- 19. 椭圆图WPF动画
- 20. WPF绑定改变椭圆
- 21. wpf中的椭圆按钮
- 22. WPF椭圆黑色背景
- 23. 将一组图像旋转成椭圆形
- 24. Qt使用horizontalSlider旋转椭圆时出现QPainter错误
- 25. 用椭圆显示随时间变化的矢量旋转
- 26. 因此使用wpf动画椭圆
- 27. 安卓手指画旋转
- 28. 用两根手指计算触摸旋转角度
- 29. 椭圆vs圆
- 30. Silverlight椭圆高度转换
赞赏如果你可以刷新一些示例代码。 – pushpraj 2014-09-03 14:00:08