首页 > 解决方案 > 关于另一个矩形旋转移动一个矩形

问题描述

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

矩形将始终在正坐标中移动。编辑:没有坐标可以是负的:矩形总是位于正坐标中。因此,中心永远不会是(0,0)。

问题

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

在此处输入图像描述

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

让我们看一张图片(请原谅草图质量):

在此处输入图像描述

我的问题:

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

标签: mathgeometryrectangles

解决方案


旋转大约是某个点(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)

推荐阅读