推導坐標旋轉公式(轉)

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287787.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287787.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287787.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

任務管理平臺_jytask一個任務調度統一管理平臺

task介紹和使用https://gitee.com/yuejing/task 下的文檔:[doc/task介紹和使用.docx]task是什么?task是一個任務調度統一管理平臺。 目前主要是通過http來進行任務的調度,http支持簽名算法。一張圖能更加懂它是做什么的(一個集中管理任務的平…

設計一個支持百萬用戶的系統

設計一個支持數百萬用戶的系統是非常有挑戰性的, 這是一個需要不斷調整和優化的過程, 接下來的內容中, 我將構建一個系統, 從單個用戶開始,到最后支持數百萬的用戶。從單個服務開始 千里之行,始于足下,讓我們從最簡單的單個服務開始。所有的…

SQL Server T-SQL編程:數據庫用戶與安全設置

目錄 一、數據庫的注冊、用戶建立 二 、用戶安全設置:角色

原百萬訪問量博客http://blog.chinaunix.net/uid/20656672.html不再維護(10年前數百篇oracle/teradata性能優化、故障處理案例)...

原博客地址http://blog.chinaunix.net/uid/20656672.html不再維護(數百篇oracle/teradata性能優化、故障處理原創文章)轉載于:https://www.cnblogs.com/zhjh256/p/5497797.html

《零基礎看得懂的C語言入門教程 》——(九)C語言二維數組與循環嵌套

一、學習目標 了解二維數組的使用方法了解循環嵌套的使用方法 目錄 C語言真的很難嗎?那是你沒看這張圖,化整為零輕松學習C語言。 第一篇:(一)脫離學習誤區 第二篇:(二)C語言沒那么…

LRU算法

1 LRU算法 LRU(Least recently used,最近最少使用)根據數據的歷史訪問記錄來進行淘汰數據,思想是“如果數據最近被訪問過,那么將來被訪問的幾率也更高”。 2 具體實現過程 新數據插入到鏈表頭部; 每當緩存命中(即緩存數據被訪問),則將數據移到鏈表頭部; 當鏈表滿…

Scala-2.13.0 安裝及配置

Scala 簡介 Scala 是一門多范式(multi-paradigm)的編程語言,設計初衷是要集成面向對象編程和函數式編程的各種特性。 Scala 運行在Java虛擬機上,并兼容現有的Java程序。 Scala 源代碼被編譯成Java字節碼,所以它可以運…

檢測python進程是否存活

crontab -e */3 * * * * /data/log_realtime/check.sh > /data/log_realtime/check.log 2>&1 1 0 1 * * /data/jx3log_import_realtime/shutdown.sh 說明:每3分鐘檢查一次進程是否存在,每個月1號0點1分殺掉進程,重啟 check.sh cd …

中科大鏡像源_JETPACK4.4安裝軟件和備份鏡像的方法介紹

一、使用SDK Manager的文件夾安裝Jetson軟件(以NX為例)當JETPACK安裝出現錯誤的時候,可以嘗試下面的安裝辦法,前提是JETPACK4.4完整安裝(即本文第三節的下載已經完成),并且選擇JETSON NX的相關的下載已經完成。安裝步驟:1、$cd /n…

站在前人的肩膀上重新透視C# SpanT數據結構

先談一下我對Span的看法, Span是指向任意連續內存空間的類型安全、內存安全的視圖,可操作的滑動窗口。Span和Memory都是包裝了可以在pipeline上使用的結構化數據的內存緩沖器,他們被設計用于在pipeline中高效傳遞數據。定語解讀這里面許多定語&#xff0…

集合學習

List集合:ArrayList集合基于動態數組結構,查詢優,LinkedList 基于鏈表結構 數據移動優。是一個有序的隊列集合 set集合:HashSet和TreeSet 。是一個無序不重復集合 Map集合:HashMap和TreeMap。是一個KEY-VALUE映射的集合…

《零基礎看得懂的C語言入門教程 》——(十)C語言的指針原來是這樣

一、學習目標 了解指針的概念了解指針的使用方法了解雙重指針 目錄 C語言真的很難嗎?那是你沒看這張圖,化整為零輕松學習C語言。 第一篇:(一)脫離學習誤區 第二篇:(二)C語言沒那…

T-SQL編程基礎之一:變量與基本語句

一個標準的計算機語言,大概要提供的必要主要功能是:變量說明、分支判斷、循環和輸入輸出結果。T-SQL也一樣,具有這些功能,只不過T-SQL的輸入和輸出不是界面,而是表。 完全精確描述一個計算機語言,大概要很厚的書才能做到,好在目前這些書籍的發行也很多,許多書描述的都…

Java之volatile如何保證可見性和指令重排序

1 我們先了解CPU緩存 CPU緩存為了解決CPU運算速度與內存讀寫速度不匹配的問題,因為CPU運算速度要比內存讀寫速度快得多 一次主內存的訪問通常在幾十到幾百個時鐘周期一次L1高速緩存的讀寫只需要1~2個時鐘周期一次L2高速緩存的讀寫也只需要數十個時鐘周期 CPU大多數…

bigpipe提升網站響應速度

2019獨角獸企業重金招聘Python工程師標準>>> 主要思想就是通過異步 發起一次請求,后端不關閉輸出流,多個線程處理各自任務,然后分別發送到客戶端。 https://github.com/4rnold/Demo-Project/tree/master/bigpipe-demohttps://gith…

mysql 添加用戶_mysql創建用戶與授權

一、創建用戶CREATE USER usernamehost IDENTIFIED BY password;說明username:你將創建的用戶名host:指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost,如果想讓該用戶可以從任意遠程主機登陸,可以使用通配…

《零基礎看得懂的C語言入門教程 》——(十一)C語言自定義函數真的很簡單

一、學習目標 了解C語言的自定義函數的使用方法了解C語言自定義函數的傳參了解C語言自定義函數的返回值 目錄 C語言真的很難嗎?那是你沒看這張圖,化整為零輕松學習C語言。 第一篇:(一)脫離學習誤區 第二篇&#xf…

T-SQL編程基礎之二:條件選擇、循環編程

1. 條件判斷以及GOTO語句 條件判斷是計算機語言的重要功能,在T-SQL中,條件判斷的語句是: if 條件 … else … 或者是: if 條件 … 注意寫法和C類似,但條件描述不使用()也可以。如果是在一個條件里執行多條語句,則要構造復合語句,復合語句是在BEGIN…EDN中構造…

**【ci框架】精通CodeIgniter框架

http://blog.csdn.net/yanhui_wei/article/details/25803945 一、大綱 [php] view plaincopy1、codeigniter框架的授課內容安排 2、codeigniter框架的簡介 |-----關于框架的概念 |-----使用CI框架的好處 |-----為什么選擇CI框架 3、codeigniter框架…

AspNetCore開源中間件-VueRouterHistory

前言用過VueRouter路由組件的應該都知道,VueRouter有hash和history兩種模式。hash模式會在url中插入#,history模式下url則看上去更加簡潔美觀。如果想要支持history模式則必須要后端服務進行配合。常用后端服務器配置方式請參考 后端配置例子后端配置例子…