我有两个矩形,其中一个是另一个的剪裁。 现在我想围绕裁剪矩形的中心旋转更大的矩形并调整x / y值。
如何在旋转后计算新的x / y值?
我实际上只想围绕较小盒子的中心旋转较大盒子的x / y。因此,较大框的x / y点相对于较小框的顶部/左侧点。我有较小盒子的宽度和高度,所以我可以计算大盒子相对于小盒子中心的x / y点。旋转角度以度为单位。旋转可以是任何程度,例如10。
答案 0 :(得分:1)
您可以执行以下操作:
答案 1 :(得分:0)
如果要围绕在同一坐标系中定义的点P
周围旋转给定点C
,可以使用简单的旋转矩阵。计算P
相对于C
(减法)的坐标,然后对矩阵应用旋转,并通过再次添加C
返回原始坐标。
答案 2 :(得分:0)
重要的是旋转中心的坐标和角度。
最紧凑的配方是通过复数(我希望你有一些理解;你实际上不需要复杂的数据类型,你可以扩展公式)。
以C
为中心,α
为角度。然后,对于任何点P
,图像Q
由
Q = (P - C) cis(α) + C
其中cis(α) = cos(α) + i sin(α)
。
反向旋转简单地由
给出P = (Q - C) cis(-α) + C.