移动一个矩形关于另一个矩形旋转

Moving a rectangle regarding another rectangle rotation

我有两个矩形:红色和绿色。对于他们每个人,我都有以下信息:

矩形将始终在正坐标中移动。 编辑: 任何坐标都不能为负:矩形始终位于正坐标中。因此,中心 永远不会是 (0,0).

问题

我有一个起始位置。为了简化示例,假设我的红色和绿色矩形位于如下位置:

现在,我使用介于 0º 和 90º 之间的角度 phi 旋转红色矩形。然而,绿色矩形需要旋转并保持其相对于红色矩形的位置。绿色矩形不仅旋转而且移动

看图(素描质量请见谅):

我的问题:

如何获取绿色矩形的新中心坐标?

旋转大约某个点 (rx, ry)

编辑: 正如评论所说,旋转中心(rx, ry)是红色中心。 公式保持不变。

如果绿色中心在(gx, gy),那么旋转后它的坐标是

 gx' = rx + (gx - rx) * Cos(Phi) - (gy - ry) * Sin(Phi)
 gy' = ry + (gx - rx) * Sin(Phi) + (gy - ry) * Cos(Phi)