Math 矩形的尺寸,仅给定左上角和右下角坐标以及旋转角度

Math 矩形的尺寸,仅给定左上角和右下角坐标以及旋转角度,math,trigonometry,Math,Trigonometry,我有一个应用了旋转的矩形。我知道旋转角度,以及左上角和右下角的坐标 我的问题是,在给定这三条信息的情况下,如何计算矩形的尺寸?如果旋转是以矩形上的一个中心点为单位,首先必须得到相对于该原点的TL和BR 设A,B,C,D为四个顶点TL,TR,BR,BL 你试图找到TR和BL,它们是B和D B_x = C_x*Cos(a) - A_y*Sin(a) B_y = C_x*Sin(a) + A_y*Cos(a) 同样地 D_x = A_x*Cos(a) - C_y*Sin(a) D_y = A_x*S

我有一个应用了旋转的矩形。我知道旋转角度,以及左上角和右下角的坐标


我的问题是,在给定这三条信息的情况下,如何计算矩形的尺寸?

如果旋转是以矩形上的一个中心点为单位,首先必须得到相对于该原点的TL和BR

设A,B,C,D为四个顶点TL,TR,BR,BL

你试图找到TR和BL,它们是B和D

B_x = C_x*Cos(a) - A_y*Sin(a)
B_y = C_x*Sin(a) + A_y*Cos(a)
同样地

D_x = A_x*Cos(a) - C_y*Sin(a)
D_y = A_x*Sin(a) + C_y*Cos(a)
想想他们在轮换前会是什么样子。您只需要使用A和C的组件来定义B和D。上面的内容就是将其乘以。其中a是角度

如果旋转已应用于A和B,则获得旋转前的原始点,这只是以下各项的转置:

C也是如此

然后在第一组方程中使用A'和C'来找到旋转的结果点

如果您只对长度和宽度感兴趣,A'和C'就足够了:

width = C'_x - A'_x
Height = A'_y - C'_y

旋转中心的原点在哪里。。。?旋转后或旋转前是否给出了左上角和右下角的坐标?假设原点位于矩形的中心。对两点进行逆变换。
width = C'_x - A'_x
Height = A'_y - C'_y