本地坐標轉世界坐標為什么是 先縮放后旋轉再平移


為了進行坐標轉換的簡單性,特地加了一個過渡坐標-慣性坐標,慣性坐標的特點是 與世界坐標的方向一樣,與本地坐標的原點位置一樣,本地坐標系先轉換成慣性坐標系,此時方向和世界坐標一致了,然后在平移到世界坐標中,完成了轉換。 舉例說明,比如 一個矩形M原點在世界坐標的位置為(10,10),然后矩形的錨點就是原點(這樣考慮簡單),然后順時針旋轉45度,里面有一點A,坐標也為(10,10),現在要得到點A在世界坐標中的位置。A在M中的坐標永遠為(10,10),第一步首先轉到慣性坐標下的位置,乘以 旋轉矩陣,得到A相對於慣性坐標的坐標為(a,b), 慣性坐標和實際坐標的差別就是差一個平移,所以A再乘以平移矩陣 得到世界坐標下的坐標(c,d)

同理又比如一點A在世界坐標下的坐標為(100,100),同時這一點又在M中,求A在M本地坐標下的坐標,首先A先乘以平移矩陣轉為慣性坐標下的坐標(a,b),然后乘以旋轉矩陣,得到在M中的坐標

綜上,世界坐標轉本地坐標和本地坐標轉世界坐標,是一個相反的過程,按照矩陣的思路來說,前者的矩陣是后者矩陣的逆矩陣。

 

通過上面我們知道了 世界坐標轉本地坐標,是先平移,在旋轉 ,本地坐標轉世界坐標是先旋轉,再平移,那么平移的方向和旋轉的方向如何確定呢,這里有個技巧。

當把A坐標系下的點的坐標轉到B坐標系下,我們把B坐標系連同需要轉換的那個點移動回A,就可以看出方向了(世界坐標系轉換成相機坐標系就是這種思路,在這里其實照相機坐標系也可以看做本地坐標系了)。比如A為世界坐標系,a點知道了在世界坐標下的坐標(c,d) ,求 a點在本地坐標系B中的坐標。首先先把B坐標系平移到坐標系A,

比如平移了(-100,-100),同時讓a點跟着平移,也就是(-100,-100),此時世界坐標系和本地坐標系原點重合了,接下來,讓B旋轉至和A重合,比如逆時針旋轉30度,同時我們就讓a也跟着逆時針旋轉30度,此時得出的位置就是a點在 B坐標系下的坐標,那么這個位置怎么求出呢,因為現在A和B坐標系重合了,a點在A中的坐標就是在B中的坐標,所以只要求出當前a在A中的坐標即可,根據之前的操作步驟得出新的坐標為新的a坐標= 旋轉矩陣*平移矩陣*老的a坐標,得出的新的a坐標就是在以B為基底坐標系中的坐標。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM