一个可以旋转的矩形,已知旋转角度,长度和宽度,如何人根据角度的变化绘制最最小的外接的矩形图形,谢谢大家

解决方案 »

  1.   

    很简单啊,宽w高h的矩形,转了n弧度(逆时针)后的外接矩形的宽W高H就是:
    W=w*cos(n)+h*cos(pai/2-n)
    H=w*sin(n)+h*sin(pai/2-n)
    如果你是要坐标的话,推一下就有了
    左上,右下坐标是:(X1,Y1),(X2,Y2)
    转n度后(要看绕哪点转了,如是是绕形心,就比较简单些)
    先找到形心(或者是其它那个转动的点,
    把每个顶点旋转N度;
    重新确定过这4个顶点的直线
    找到这4条直线的4个交点(得到两个就行,左上和右下)
      

  2.   

    不知道你还会不会看这个贴
    其实问题可以更简单一点:
    抛开矩形,只看4个顶点,你要做的其实就是把这4个顶点绕
    形心(形心就是两条对角线的交点)旋转某个角度,得到新的
    4个顶点,再过这4个顶点分别做两个坐标轴的垂线,就是你要
    的矩形了。所以问题归结为:
    将某个点A绕点B旋转角度N后的得到点C,求C坐标。
    解决的方法也很简单,直接使用坐标变换
    即:把平面直角坐标系变换成极坐标系,再进行坐标轴平移
    就可以很方便得到新点C的坐标。当然直接用平面几何的方法
    也可以。