首先将中心点转换为0,0
X'= X-x
Y'= Y-y
然后旋转A角
X''=(X-x)* cos A - (Y-y)* sin A.
Y'=(Y-y)* cos A(X-x)* sin A.
再次将中心点转换回x,y
X''=(X-x)* cos A - (Y-y)* sin A x
Y''=(Y-y)* cos A(X-x)* sin A y
因此,通过以下变换计算(X,Y)的所有4个点
X''=(X-x)* cos A - (Y-y)* sin A x
Y''=(Y-y)* cos A(X-x)* sin A y
其中x,y是矩形的中心点,X是角点当角度为0时,即使角点也没有正确定义,正如我在评论中给出的那样 .
替换后你会得到
UL = x + ( Width / 2 ) * cos A - ( Height / 2 ) * sin A , y + ( Height / 2 ) * cos A + ( Width / 2 ) * sin A
UR = x - ( Width / 2 ) * cos A - ( Height / 2 ) * sin A , y + ( Height / 2 ) * cos A - ( Width / 2 ) * sin A
BL = x + ( Width / 2 ) * cos A + ( Height / 2 ) * sin A , y - ( Height / 2 ) * cos A + ( Width / 2 ) * sin A
BR = x - ( Width / 2 ) * cos A + ( Height / 2 ) * sin A , y - ( Height / 2 ) * cos A - ( Width / 2 ) * sin A
我认为这适合您的解决方案 .