获取矩形的旋转中心

时间:2012-06-25 16:36:41

标签: javascript html5-canvas trigonometry

给定矩形的边界框,相对旋转中心和旋转角度,我需要找到矩形的绝对旋转中心。这是一张图片(我不介意有人改进它): 我希望这很清楚。我需要红点的x和y坐标。我一直在研究这个问题已经有一段时间了,我迷失了对trig的琐碎知识。 :/

1 个答案:

答案 0 :(得分:3)

如果旋转角度a显示为负值,则红点的坐标为:

rx = x + rcx*COS(a) - rcy*SIN(a)
ry = y - (w-rcx)*SIN(a) + rcy*COS(a)

并记住在使用SIN()COS()之前将度数转换为弧度。

示例:(x,y)=(80,60)(w,h)=(20,60)a=-15°(rcx,rcy)=(15,30)

rx = 80 + 15*COS(-15°)-30*SIN(-15°)      = 102.25
ry = 60 - (20-15)*SIN(-15°)+30*COS(-15°) = 90.27

以下是GeoGebra的计算结果(负y - 轴)

GeoGebra output