三角函数 - 旋转对象以远离线条

时间:2012-04-06 16:11:29

标签: iphone ios rotation trigonometry

基本上我有两个2D点,​​它们之间有一条线。立方体放置在该线的中点。我希望立方体旋转,使其面向上方,如下图所示。

Illustrative diagram showing cubes on lines

我一直在思考如何使用trig来做到这一点,我仍然没有想出任何东西。任何想法将不胜感激:))

2 个答案:

答案 0 :(得分:1)

在伪代码中:

angle = atan2(p2.y - p1.y, p2.x - p1.x)

cube.rotation = angle + PI/2

答案 1 :(得分:0)

给定两个点(x1,y1)和(x2,y2),线的角度由

给出
atan2(y2-y1, x2-x1)

然后相应地旋转方块。为此,您可以使用仿射变换 - 请参阅

CGAffineTransformMakeRotation
CGPointApplyAffineTransform

这里:

http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CGAffineTransform/Reference/reference.html