如何从中心找到旋转矩形的顶点?

时间:2013-05-10 21:17:42

标签: c++ math geometry rectangles

我有一个矩形,我围绕它的中心旋转一个角度。如何从矩形派生顶点?

2 个答案:

答案 0 :(得分:2)

rotation matrix应用于顶点。

例如,如果原点位于矩形的中心,则顶点的坐标由v.x和v.y给出。 然后,这个顶点的新坐标由下式给出:

v_new.x=v.x*cos(angle)-v.y*sin(angle)
v_new.y=v.x*sin(angle)+v.y*cos(angle)

(假设counter clockwise rotation

答案 1 :(得分:0)

翻译使矩形的中心为(0,0)。将每个点视为不是矩形的一部分,而是作为圆的一部分,并将矩形中心的线段视为该圆的中心。然后你解决了一个不同的问题:在原点处给定一个圆,在该圆(或线段)上给出一个点,围绕圆旋转的点(角度)是多少。我将为您查找适合该算法的算法:)