推導座標旋轉公式

2021-06-02 13:53:27 字數 1201 閱讀 3046

在《flash actionscript 3.0 動畫教程》一書中有乙個旋轉公式:

x1=cos(angle)*x-sin(angle)*y;

y1=cos(angle)*y+sin(angle)*x;

其中x,y表示物體相對於旋轉點旋轉angle的角度之前的座標,x1,y1表示物體旋轉angle後相對於旋轉點的座標 

從數學上來說,此公式可以用來計算某個點繞另外一點旋轉一定角度後的座標,例如:a(x,y)繞b(a,b)旋轉β度後的位置為c(c,d),則x,y,a,b,β,c,d有如下關係式:

1。設a點旋轉前的角度為δ,則旋轉(逆時針)到c點後角度為δ+β

2。求a,b兩點的距離

dist1=|ab|=y/sin(δ)=x/cos(δ)
3。求c,b兩點的距離

dist2=|cb|=d/sin(δ+β)=c/cos(δ+β)
4。顯然dist1=dist2,設dist1=r所以:

r=x/cos(δ)=y/sin(δ)=d/sin(δ+β)=c/cos(δ+β)
5由三角函式兩角和差公式知

sin(δ+β)=sin(δ)cos(β)+cos(δ)sin(β)

cos(δ+β)=cos(δ)cos(β)-sin(δ)sin(β)

所以得出:

c=r*cos(δ+β)=r*cos(δ)cos(β)-r*sin(δ)sin(β)=xcos(β)-ysin(β)

d=r*sin(δ+β)=r*sin(δ)cos(β)+r*cos(δ)sin(β)=ycos(β)+xsin(β)

即旋轉後的座標c,d只與旋轉前的座標x,y及旋轉的角度β有關 

從圖中可以很容易理解出a點旋轉後的c點總是在圓周上運動,圓周的半徑為|ab|,利用這點就可以使物體繞圓周運動,即旋轉物體。

推導座標旋轉公式

1圍繞原點的旋轉 在 flash actionscript 3.0 動畫教程 一書中有乙個旋轉公式 x1 cos angle x sin angle y y1 cos angle y sin angle x 其中x,y表示物體相對於旋轉點旋轉angle的角度之前的座標,x1,y1表示物體旋轉angl...

推導座標旋轉公式

在 flash actionscript 3.0 動畫教程 一書中有乙個旋轉公式 x1 cos angle x sin angle y y1 cos angle y sin angle x 其中x,y表示物體相對於旋轉點旋轉angle的角度之前的座標,x1,y1表示物體旋轉angle後相對於旋轉點的...

推導座標旋轉公式

推導座標旋轉公式 在 flash actionscript 3.0 動畫教程 一書中有乙個旋轉公式 x1 cos angle x sin angle y y1 cos angle y sin angle x 其中x,y表示物體相對於旋轉點旋轉angle的角度之前的座標,x1,y1表示物體旋轉angl...