在《Flash actionScript 3.0 動畫教程》?書中有?個旋轉(zhuǎn)公式:x1=cos(angle)*x-sin(angle)*y;y1=cos(angle)*y+sin(angle)*x;
其中x,y表?物體相對于旋轉(zhuǎn)點旋轉(zhuǎn)angle的?度之前的坐標(biāo),x1,y1表?物體旋轉(zhuǎn)angle后相對于旋轉(zhuǎn)點的坐標(biāo)
從數(shù)學(xué)上來說,此公式可以?來計算某個點繞另外?點旋轉(zhuǎn)?定?度后的坐標(biāo),例如:A(x,y)繞B(a,b)旋轉(zhuǎn)β度后的位置為C(c,d),則x,y,a,b,β,c,d有如下關(guān)系式:
1。設(shè)A點旋轉(zhuǎn)前的?度為δ,則旋轉(zhuǎn)(逆時針)到C點后?度為δ+β2。求A,B兩點的距離:dist1=|AB|=y/sin(δ)=x/cos(δ)3。求C,B兩點的距離:dist2=|CB|=d/sin(δ+β)=c/cos(δ+β)4。顯然dist1=dist2,設(shè)dist1=r所以:
r=x/cos(δ)=y/sin(δ)=d/sin(δ+β)=c/cos(δ+β)5。由三?函數(shù)兩?和差公式知: 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(β)即旋轉(zhuǎn)后的坐標(biāo)c,d只與旋轉(zhuǎn)前的坐標(biāo)x,y及旋轉(zhuǎn)的?度β有關(guān)
從圖中可以很容易理解出A點旋轉(zhuǎn)后的C點總是在圓周上運動,圓周的半徑為|AB|,利?這點就可以使物體繞圓周運動,即旋轉(zhuǎn)物體。
因篇幅問題不能全部顯示,請點此查看更多更全內(nèi)容
Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2
違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)