日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

推导坐标旋转公式(转)

發布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 推导坐标旋转公式(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在《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|,利用這點就可以使物體繞圓周運動,即旋轉物體。

總結

以上是生活随笔為你收集整理的推导坐标旋转公式(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。