三維旋轉矩陣推導
1.繞X軸旋轉,
分別求出Y、Z基向量繞X軸旋轉θ後描述,
X基向量不變為X'=(1,0,0),
Y基向量繞X軸旋轉θ後為Y'=(0,cosθ,sinθ),
Z基向量繞X軸旋轉θ後為Z'=(0,-sinθ,cosθ),
若為矩陣乘列向量形式,矩陣為,
1 0 0
0 cosθ -sinθ
0 sinθ cosθ ,
若為行向量乘矩陣形式,矩陣為,
1 0 0
0 cosθ sinθ
0 -sinθ cosθ ,
2.繞Y軸旋轉
X基向量繞Y軸旋轉θ後為X'=(cosθ,0,-sinθ),
Y基向量不變,為Y'=(0,1,0),
Z基向量繞Y軸旋轉θ後為Z'=(sinθ,0,cosθ),
若為矩陣乘列向量形式,矩陣為,
cosθ 0 sinθ
0 1 0
-sinθ 0 cosθ,
若為行向量乘矩陣形式,矩陣為,
cosθ 0 -sinθ
0 1 0
sinθ 0 cosθ,
3.繞Z軸旋轉
X基向量繞Z軸旋轉θ後為X'=(cosθ,sinθ,0),
Y基向量繞Z軸旋轉θ後為Y'=(-sinθ,cosθ,0),
Z基向量不變,為Z'=(0,0,1),
若表示為矩陣乘列向量形式,矩陣為,
cosθ -sinθ 0
sinθ cosθ 0
0 0 1,
若表示為行向量乘矩陣形式,矩陣為,
cosθ sinθ 0
-sinθ cosθ 0
0 0 1,
3.繞任意軸旋轉,
為方便推導,設向量n(x0,y0,z0)為單位向量,向量v(x,y,z)
將向量v分解為平行於向量n的向量v∥和垂直於向量n的向量v⊥,
已知,
v=v∥+v⊥,
v'=v'∥+v'⊥=v∥+v'⊥,
而v∥=(v·n)*n,
v⊥=v-v∥=v-(v·n)*n,
令向量w=n×v⊥=n×[v-(v·n)*n]=n×v,其大小為|n|*|v⊥|*sin90°=|v⊥|,
那麼v'⊥=sinθ*w+cosθv⊥
=sinθ*n×v+cosθ*(v-(v·n)*n)
那麼v'=v'∥+v'⊥
=(v·n)*n+sinθ*n×v+cosθ*(v-(v·n)*n)
接下來就可以求各基向量繞向量n旋轉θ後的表示,
X'=(X·n)*n+sinθ*n×X+cosθ*(X-(X·n)*n)
|x0^2 | | 0 | | cosθ-cosθ*x0^2 |
=|x0*y0| + |z0*sinθ | + | -cosθ*x0y0 |
|x0*z0| |-y0*sinθ | | -cosθ*x0z0 |
|x0^2*(1-cosθ)+cosθ |
= |x0y0*(1-cosθ)+z0*sinθ |
|x0z0*(1-cosθ)-y0*sinθ |,
同樣,
Y'=(Y·n)*n+sinθ*n×Y+cosθ*(Y-(Y·n)*n)
|x0*y0| |-z0*sinθ | | -cosθ*x0y0 |
=|y0^2 | + | 0 | + | cosθ-cosθ*y0^2 |
|y0*z0| |x0*sinθ | | -cosθ*y0z0 |
|x0y0*(1-cosθ)-z0*sinθ |
= |y0^2*(1-cosθ)+cosθ |
|y0z0*(1-cosθ)+x0*sinθ |,
同樣,
Z'=(Z·n)*n+sinθ*n×Z+cosθ*(Z-(Z·n)*n)
|x0*z0| |y0*sinθ | | -cosθ*x0z0 |
=|y0z0 | + |-x0*sinθ | + | -cosθ*y0z0 |
|z0^2 | | 0 | | cosθ -cosθ*z0^2 |
|x0z0*(1-cosθ)+y0*sinθ |
= |y0z0*(1-cosθ)-x0*sinθ |
|z0^2*(1-cosθ)+cosθ |,
然後構造矩陣,
若為矩陣乘列向量形式,矩陣為
|x0^2*(1-cosθ)+cosθ x0y0*(1-cosθ)-z0*sinθ x0z0*(1-cosθ)+y0*sinθ |
|x0y0*(1-cosθ)+z0*sinθ y0^2*(1-cosθ)+cosθ y0z0*(1-cosθ)-x0*sinθ |
|x0z0*(1-cosθ)-y0*sinθ y0z0*(1-cosθ)+x0*sinθ z0^2*(1-cosθ)+cosθ |,
若為行向量乘矩陣形式,矩陣為
|x0^2*(1-cosθ)+cosθ x0y0*(1-cosθ)+z0*sinθ x0z0*(1-cosθ)-y0*sinθ |
|x0y0*(1-cosθ)-z0*sinθ y0^2*(1-cosθ)+cosθ y0z0*(1-cosθ)+x0*sinθ |
|x0z0*(1-cosθ)+y0*sinθ y0z0*(1-cosθ)-x0*sinθ z0^2*(1-cosθ)+cosθ |,
得安裝公式編輯器了=-=!
相關文章
- 二維旋轉矩陣推導矩陣
- 3D旋轉矩陣的推導3D矩陣
- 三維旋轉矩陣的推導過程(以右手座標系為例)矩陣
- 三維座標系旋轉——旋轉矩陣到旋轉角之間的換算矩陣
- 三維旋轉矩陣 左乘和右乘分析矩陣
- 三維空間座標系變換-旋轉矩陣矩陣
- [轉]旋轉矩陣:點旋轉和座標系旋轉矩陣
- 三維空間中物體兩次旋轉之間的連續旋轉矩陣計算矩陣
- THREE 矩陣優先原則和平移旋轉矩陣矩陣
- 三維空間變換中旋轉矩陣左乘與右乘的區別矩陣
- 空間旋轉矩陣怎麼表示矩陣
- 矩陣求導公式【轉】矩陣求導公式
- 協方差矩陣推導1矩陣
- LeetCodeHot100 73. 矩陣置零 54. 螺旋矩陣 48. 旋轉影像 240. 搜尋二維矩陣 IILeetCode矩陣
- 圖形學 旋轉與投影矩陣—2矩陣
- 圖形學 旋轉與投影矩陣-3矩陣
- 圖形學 旋轉與投影矩陣—1矩陣
- 旋轉矩陣與尤拉角的相互轉換矩陣
- 矩陣旋轉-Eigen應用(QTCreator編輯器)矩陣QT
- 尤拉角和旋轉矩陣之間的轉換矩陣
- 四元數旋轉公式推導公式
- 三維空間的旋轉
- 四元數的旋轉公式推導公式
- 【矩陣基礎與維度分析】【公式細節推導】矩陣非線性最小二乘法泰勒展開矩陣公式
- 矩陣求導矩陣求導
- 單像空間後方交會計算旋轉矩陣矩陣
- [OpenGL](翻譯+補充)投影矩陣的推導矩陣
- 機器學習中的矩陣向量求導(五) 矩陣對矩陣的求導機器學習矩陣求導
- 矩陣求導(二)矩陣求導
- 矩陣求導(一)矩陣求導
- 矩陣轉置矩陣
- 第四個OpenGL程式,vector 向量 (矩陣變換之 旋轉,縮放)矩陣
- LeetCode 189 旋轉陣列LeetCode陣列
- zip矩陣轉至矩陣
- 33、搜尋旋轉排序陣列 | 演算法(leetode,附思維導圖 + 全部解法)300題排序陣列演算法
- 資料結構:陣列,稀疏矩陣,矩陣的壓縮。應用:矩陣的轉置,矩陣相乘資料結構陣列矩陣
- 【矩陣求導】關於點乘 (哈達瑪積)的矩陣求導矩陣求導點乘
- 240. 搜尋二維矩陣 II 和74. 搜尋二維矩陣矩陣