1

基本上我有两个二维点,它们之间有一条线。一个立方体放置在这条线的中点。我希望立方体旋转,使其从直线向上,如下图所示。

在线显示多维数据集的说明图

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

4

2 回答 2

1

在伪代码中:

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

cube.rotation = angle + PI/2
于 2012-04-06T16:40:14.883 回答
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

于 2012-04-06T16:39:47.357 回答