看板 Math 關於我們 聯絡資訊
※ 引述《scya (idiot)》之銘言: : 我想請教一下板上各位神人 : 要如何以一個向量為軸,將另一個向量旋轉阿?? : 比方說我有向量(2,2,2)為軸,要將向量(3,2,1)依照安培右手順時針旋轉50度 : 得到向量j,那我該如何求出j呢?? 以下是剛剛夢到的內容 若v1為旋轉軸 v2為待旋轉向量 ( v1,v2 =\= 0 ) 設 v2 = a + b a:v2平行v1方向的分量 <v2,v1> ( a = --------- v1 ) 此為v2至v1之正射影量 <.,.>為內積符號 <v1,v1> b:v2垂直v1方向的分量 ( b = v2 - a ) 以上可知 不同角度的旋轉過程中 a與角度無關 b與角度有關 ========================================================== <1>高中可了解的做法如下 先求 c = v1外積b ( b放v1後面是為了遵守右手循環規則 ) 於是現在有了 b,c,v1 (依照右手循環規則的順序) 這3個向量 b c 現在將 b 和 c 歸一化 : e1 = ------------ ; e2 = ------------ (<b,b>)^0.5 (<c,c>)^0.5 現在b以 e1,e2 表示 : b = x e1 + y e2 ( x為b之長度 , y=0 ) ( b在e1方向為x軸,e2方向為y軸所張的平面上座標為r=[x y]^T ) [ cosΘ -sinΘ ] 令旋轉矩陣 L= [ sinΘ cosΘ ] b經旋轉Θ後之座標為 r'=[x' y']^T 則有以下關係 r' = L r 由求得的 x',y'可知b經旋轉過後為 b' = x' e1 + y' e2 故所求 v2經旋轉過後為 v2' = a + b' ===================================================== <2> 若是大學生且修過線性代數 觀察得知此種旋轉變換為線性變換 則接下來就是標專流程: 1. 找標準基底下 v2之座標表示 2. 求出標準積底對應此線性變換的矩陣 3. 新座標=變換矩陣 乘 舊座標 4. 還原新座標為向量 此種方法可解任意給定旋轉之問題 ( 可以3個軸都在轉 , 不限此題只1軸轉 ) 不知道這樣做是否夠標準 還請板上先進幫debug -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.46.129