3D數學 學習筆記(三) 3D中繞任意軸的旋轉

2021-06-21 15:30:19 字數 1164 閱讀 2525

本文**:

不要小看我們在unity或者3dmax中的乙個簡單的旋轉物體操作。

——題記

這裡需要用到的知識:向量運算(數量積,叉乘,加減)、矩陣基本運算。

讓我們匯出繞任意軸n旋轉角度θ的矩陣。

即 vr(n.θ) = v ' 。

只要能用v,n,θ表示出v ' 即可,然後再求出基向量。

方法如下:(看圖)

說明:1.向量n是單位向量

2.vii向量和vt向量是v向量的分向量,即滿足:v = vii + vt   ①,同時,由於vii平行於n向量,它也是v在n上的投影,於是有 vii = (v *n)n  ②(與物理上的求做功大小是一樣理解的!)。

3.v ' 向量是 v向量 繞 n旋轉後得到的向量,虛線表示,同理vt ' 。

4.w向量是垂直於v,vii所在平面的向量,這是引入的,為了便於討論問題,其長度 =  v 向量模長。w是vt繞n旋轉90°得到的,故有:w = n x vt   ③。(力矩知識哈!)

下面開始求解:

由旋轉後,可以得到:vt ' = vt * cosθ + w * sinθ     ④(三角函式知識哈..超級有用的玩意兒)

由②、①可推出 vt = v - (v * n)n  。⑤

由①、②、③可得: w = n x v。⑥

將⑤、⑥帶入 ④ 可得:

v ' = (v - (v*n)n)cosθ + (n x v)sinθ +(v * n)n

現在已經得到v ' 與v,n,θ的關係了,於是,下一步就是得到基向量然後再構造矩陣,哈哈。

第乙個基向量為:

p  = [1  0  0]

p ' = (p - ( p * n )n)cosθ + (n x p)sinθ + (p * n)n

然後按照矩陣運算方法即可,還算簡單吧!

最後得到:

另外兩個基向量的方法類似,同時我們也就得到了r(n,θ) :

3D數學學習記錄二

2d變換矩陣的逆矩陣 平移矩陣的逆矩陣 1,0,tx 0,1,ty 0,0,1 就相當於之前的是往前移動,現在是往後移動了。縮放矩陣的逆矩陣 1 sx,0,0 0,1 sy,0 0,0,1 就相當於把之前x,y乘以的倍數,現在除以它的倍數的倒數。旋轉矩陣的逆矩陣 cosx,sinx,0 sinx,c...

3D數學筆記 任意軸旋轉

題記 公式 v v n n v v n n cos sin u x v 表示三維空間旋轉的方法有很多,這裡關注軸角式,並採用右手座標系 如圖 有旋轉軸 u x y z 我們希望向量v,沿著這個旋轉軸旋轉 度,變換到v 我們來變換一下v 1.旋轉的分解 首先,我們可以將v分解為平行於旋轉軸u以及正交與...

3D數學基礎筆記

最近裝置也到手了書也回來了在圖書館窩了幾天把前面五章看了做了點筆記 我是不會說是因為在家裡頹廢被嫌棄才跑出來學習的 xd 看了五章心有感慨想穿越回去把自己揍一頓為什麼不好好學線代為什麼?啊?看了下整本書的目錄大概分為三部分 線性代數的基礎應用比如各種變換如旋轉,反射等等。圖形學 高等變換的線性代數解...