【发布时间】:2015-10-17 02:01:48
【问题描述】:
假设我有一个矩形 (R),在该矩形内,我有两个点 A 和 B。我需要将矩形围绕中心点 (C) 旋转到点 A 和 B 具有相等的 y 坐标。由于对此的解决方案可能会产生两个单独的答案(其中 Ax 是 Bx),我想将此限制为仅允许 Ax
我的解决方案是在围绕 M(A 和 B 之间的中点)旋转时求解 theta,然后围绕 C 旋转 theta(下图)。
这是否适用于所有情况/这是最优的吗?提前致谢!
CGPoint m = CGPointMake(a.x / 2 + b.x / 2, a.y / 2 + b.y / 2);
float dx = m.x - a.x;
float dy = m.y - a.y;
float radians = -atan2f(dy, dx)
【问题讨论】:
-
很可能发布您的代码。相信我!
-
无论旋转哪个点,需要旋转的角度都是一样的。
-
caf5 - 我相信你是对的。我一回到我的开发 PC 就会发布我的代码。
-
你没有解释什么是“M”。
-
@robmayoff - 我认为它是中心,我认为它与旋转角度无关。
标签: objective-c rotation rectangles points