最終公式
該公式僅僅針對旋轉(zhuǎn)中心在坐標(biāo)原點的情況。
x1=cos(angle)*x-sin(angle)*y;
y1=cos(angle)*y+sin(angle)*x;
//angle為旋轉(zhuǎn)的角度,x、y是旋轉(zhuǎn)前的坐標(biāo)
推導(dǎ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)系式:

示意圖
設(shè)A點旋轉(zhuǎn)前的角度為δ,則旋轉(zhuǎn)(逆時針)到C點后角度為δ+β
求A,B兩點的距離:dist1=|AB|=y/sin(δ)=x/cos(δ)
求C,B兩點的距離:dist2=|CB|=d/sin(δ+β)=c/cos(δ+β)
顯然dist1=dist2,設(shè)dist1=r所以:
```
r=x/cos(δ)=y/sin(δ)=d/sin(δ+β)=c/cos(δ+β)
```
- 由三角函數(shù)兩角和差公式知:
sin(δ+β)=sin(δ)cos(β)+cos(δ)sin(β)
cos(δ+β)=cos(δ)cos(β)-sin(δ)sin(β)
所以得出:
c=rcos(δ+β)=rcos(δ)cos(β)-rsin(δ)sin(β)=xcos(β)-ysin(β)
d=rsin(δ+β)=rsin(δ)cos(β)+rcos(δ)sin(β)=ycos(β)+xsin(β)
```
即旋轉(zhuǎn)后的坐標(biāo)c,d只與旋轉(zhuǎn)前的坐標(biāo)x,y及旋轉(zhuǎn)的角度β有關(guān)