推導(dǎo)坐標(biāo)旋轉(zhuǎn)公式(轉(zhuǎn))

最終公式

該公式僅僅針對旋轉(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)系式:
示意圖
  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(δ+β)
```
  1. 由三角函數(shù)兩角和差公式知:

sin(δ+β)=sin(δ)cos(β)+cos(δ)sin(β)
   cos(δ+β)=cos(δ)cos(β)-sin(δ)sin(β)
所以得出:
   c=rcos(δ+β)=rcos(δ)cos(β)-rsin(δ)sin(β)=xcos(β)-ysin(β)
   d=r
sin(δ+β)=rsin(δ)cos(β)+rcos(δ)sin(β)=ycos(β)+xsin(β)
```
即旋轉(zhuǎn)后的坐標(biāo)c,d只與旋轉(zhuǎn)前的坐標(biāo)x,y及旋轉(zhuǎn)的角度β有關(guān)

推導(dǎo)坐標(biāo)旋轉(zhuǎn)公式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容