我是iphone开发人员,但这个问题与几何有关。
我有一个简单的矩形(也许是一张照片)。用户在某一点触摸此照片并将其手指拖动到新点:
http://dl.dropbox.com/u/792862/Untitleddrawing.png
我必须旋转这个矩形以模拟触摸给出的旋转多少个弧度?
答案 0 :(得分:2)
我假设你有一个固定的旋转原点(图片中的十字准线会暗示这样),触摸设置另一个点。
首先,你需要一种方法来计算出一条线的角度。 atan2功能(可在任何装备精良的数学库中使用)计算出任意直线与X轴之间的角度。首先找出起始角度:
startAngle = atan2(startY - originY, startX - originX)
然后是结束角度:
endAngle = atan2(endY - originY, endX - originX)
然后只需从两个角度减去两个角度来计算轮换:
angleToRotate = endAngle - startAngle
根据旋转的工作方式,您可能需要更换周围的东西。
答案 1 :(得分:0)
使用atan2
将起点和终点转换为角度,然后在必要时翻译每个以校正非(0,0)原点。