【任意一个矩形,记他的左上角坐标为x1,y2.围绕它的中心进行旋转.任意角度都会有一个外接矩形,记外接矩形的坐标为X2,Y2.请问这两个点的函数关系是?原矩形的宽为a,高为b】
任意一个矩形,记他的左上角坐标为x1,y2.围绕它的中心进行旋转.
任意角度都会有一个外接矩形,记外接矩形的坐标为X2,Y2.请问这两个点的函数关系是?
原矩形的宽为a,高为b
【任意一个矩形,记他的左上角坐标为x1,y2.围绕它的中心进行旋转.任意角度都会有一个外接矩形,记外接矩形的坐标为X2,Y2.请问这两个点的函数关系是?原矩形的宽为a,高为b】
任意一个矩形,记他的左上角坐标为x1,y2.围绕它的中心进行旋转.
任意角度都会有一个外接矩形,记外接矩形的坐标为X2,Y2.请问这两个点的函数关系是?
原矩形的宽为a,高为b
外接矩形为水平放置,中心在原点
逆时针旋转角度为a
左上角x=x1cosa-y1sinax2=x=x1sina-y1cosa
右上角Y=-x1sina+y1cosay2=Y=-x1sina+y1cosa
谢谢,只关注左上角,如果是顺时针选择呢?会更改么?然后这个函数关系在任意角度都适用么?
刚才有失误,一并修正:逆时针a:x2=x=x1cosa-y1sinay2=-x1sina+y1cosa顺时针角度a时左上角x=x1cosa+y1sinax2=x=x1cosa+y1sina右上角Y=x1sina+y1cosay2=Y=x1sina+y1cosa都成立
谢谢!麻烦请整理一下答案.有点看不懂.逆时针旋转a:x2=x1cosa-y1sinay2=-x1sina+y1cosa是这样么?顺时针角度a时呢?只需要x2,y2与原x1,y1的关系哈
对,顺时针a时,可以取-a代入即可
公式好像有问题.原矩形的宽为a,高为b.我需要知道的是:外接矩形的左上角坐标相对原矩形初始左上角坐标的关系,非常感谢!比如原来的矩形初始左上角坐标为(100,100),原矩形的宽高为200,300.
公式没有问题原来矩形ABCD长AB=100,宽BC=80,O(0,0)矩形中心A(-50,40)外接矩形A1B1C1D1旋转前ABCD和A1B1C1D1重合A1(-50,40)公式成立反时针旋转90度A1(-40,-50)公式成立反时针旋转30度A新坐标(-50*cos30-40*sin30,-50sin30+40cos30)D(50cos30-40*sin30,50sin30+40cos30)A1(-50cos30-40sin30,50sin30+40cos30)
嗯.可能是我的参考系讲错了.坐标系是第三象限,但是Y轴是向下为正的,a的初始位置是(100,100).追加了分数,请再次帮忙,谢谢
坐标系:右手坐标系:Y轴向上正,X轴向右正左手坐标系:Y轴向下正,X轴向左正下面按左手坐标系讨论:左上角A起始位置(100,100),长a宽b矩形ABCD中心O‘(100-a/2,100+b/2)左下角B位置(100,100+b)以O‘为中心顺时针旋转x度A到达A‘A’((a/2)cosx+(-b/2)sinx+100-a/2,(-a/2)sinx+(-b/2)cosx+100+b/2)B到达B‘B’((a/2)cosx+(b/2)sinx+100-a/2,(-a/2)sinx+(b/2)cosx+100+b/2)外接矩形A1B1C1D1中心仍然是O‘A1x=B'x=((a/2)cosx+(b/2)sinx+100-a/2)A1y=A'y=((-a/2)sinx+(-b/2)cosx+100+b/2)
头痛,,,我目前做的貌似不是左手坐标系,而是向右x为正,向下Y为正.
是我表述的不够精确吧,注意坐标系不同矩形中心坐标不同按A(100,100)在左下角(3象限)Y轴向下,X轴向左讨论:左上角A起始位置(100,100),长a宽b矩形ABCD中心O‘(100-a/2,100+b/2)左下角B位置(100,100+b)以O‘为中心顺时针旋转x度A到达A‘A’((a/2)cosx+(-b/2)sinx+100-a/2,(-a/2)sinx+(-b/2)cosx+100+b/2)B到达B‘B’((a/2)cosx+(b/2)sinx+100-a/2,(-a/2)sinx+(b/2)cosx+100+b/2)外接矩形A1B1C1D1中心仍然是O‘A1x=B'x=((a/2)cosx+(b/2)sinx+100-a/2)A1y=A'y=((-a/2)sinx+(-b/2)cosx+100+b/2)2按A(100,100)在右下角(4象限)X轴向右,Y轴向左讨论:左上角A起始位置(100,100),长a宽b矩形ABCD中心O‘(100+a/2,100+b/2)左下角B位置(100,100+b)以O‘为中心顺时针旋转x度A到达A‘A’((-a/2)cosx+(-b/2)sinx+100+a/2,(-a/2)sinx+(-b/2)cosx+100+b/2)B到达B‘B’((-a/2)cosx+(b/2)sinx+100+a/2,(-a/2)sinx+(b/2)cosx+100+b/2)外接矩形A1B1C1D1中心仍然是O‘A1x=B'x=((a/2)cosx+(b/2)sinx+100+a/2)A1y=A'y=((-a/2)sinx+(-b/2)cosx+100+b/2)
专家兄弟,我这个做UI的实在太笨,麻烦最后整理一次.我的坐标系相当于第四象限,但是向右x是正,向下y也是正.我需要的是,任意角度外接矩形的左上角坐标.包括顺时针是逆时针已知原矩形左上角坐标(100,80),长,300,宽200.
Thanks整理如下:第2种情形1中心点矩形ABCD长a=300宽b=200左上角A(100,80)中心点O‘(100+300/2,80+200/2)即(250,180)左下角B(100,280)右上角D(400,80)右下角C(400,280)2顺时针旋转x(弧度)A->A'(-150cosx-100sinx+250,-150sinx-100cosx+180)x=0A=A'x=π/2A'(150,30)x=πA'=CB->B'(-150cosx+100sinx+250,-150sinx+100cosx+180)x=0,B=B'x=π/2B'(350,30)x=πB'=D外接矩形A1B1C1D1A1x=B'x=(-150cosx+100sinx+250)A1y=A'y=(-150sinx-100cosx+180)B1x=B'x=(-150cosx+100sinx+250)B1y=C'y=(150sinx+100cosx+180)C1x=D'x=(150cosx+100sinx+250)C1y=A'y=(-150sinx-100cosx+180)D1x=D'x=(150cosx+100sinx+250)D1y=C'y=(150sinx+100cosx+180)3反时针旋转y(弧度)A->A''(-150cosy-100siny+250,150siny-100cosy+180)y=0A=A''y=π/2A''(150,330)y=πA''=CD->D''(150cosy-100siny+250,-150siny-100cosy+180)y=0,D=D''y=π/2D''(150,30)y=πD''=B外接矩形A1B1C1D1A1x=A''x(-150cosy-100siny+250)A1y=D''y(-150siny+100cosy+180)B1x=A''x(-150cosy-100siny+250)B1y=B''y(150siny+100cosy+180)C1x=C''x(150cosy-100siny+250)C1y=B''y(150siny+100cosy+180)D1x=C''x(150cosy-100siny+250)D1y=D''y(-150cosy+100cosy+180)