根據(jù)旋轉(zhuǎn)前后的向量值求旋轉(zhuǎn)矩陣_第1頁(yè)
根據(jù)旋轉(zhuǎn)前后的向量值求旋轉(zhuǎn)矩陣_第2頁(yè)
根據(jù)旋轉(zhuǎn)前后的向量值求旋轉(zhuǎn)矩陣_第3頁(yè)
根據(jù)旋轉(zhuǎn)前后的向量值求旋轉(zhuǎn)矩陣_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、根據(jù)旋轉(zhuǎn)前后的向量值求旋轉(zhuǎn)矩陣如果已知旋轉(zhuǎn)前后的一向量的變化,那么該如何求這個(gè)旋轉(zhuǎn)矩陣呢?本篇結(jié)合Rodriguesrotationformula,介紹一下該旋轉(zhuǎn)矩陣的求法。.旋轉(zhuǎn)角度已知旋轉(zhuǎn)前向量為P,旋轉(zhuǎn)后變?yōu)镼o由點(diǎn)積定義可知:P,Q-|P|Q|。6g可推出p,q之間的夾角為:IQ.旋轉(zhuǎn)軸由1中可知,旋轉(zhuǎn)角所在的平面為有P和Q所構(gòu)成的平面,那么旋轉(zhuǎn)軸必垂直該平面。假定旋轉(zhuǎn)前向量為a(a1,a2,a3),旋轉(zhuǎn)后向量為b(b1,b2,b3)。由叉乘定義得:.Iaxb+值也k+的%(-j)4-1瓦(-k)十叱%。+由+的瓦j+潛必-i)十為九修sb)i+(aj&)-aih)j+(。山上-的瓦)

2、k*.羅德里格旋轉(zhuǎn)公式(Rodriguesrotationformula)公式已知單位向量3=,將它旋轉(zhuǎn)。角。由羅德里格旋轉(zhuǎn)公式,可知對(duì)應(yīng)的旋轉(zhuǎn)矩陣%電:R=/聲I+由sin。+而(1-8$fl+w;(1-cofl)口二3.1-coe例-w士號(hào)ina4in9+3,口-wk例3;sin&+g3,(1cos即cos+o?(I-os一城上sin日+s,u:(】-c町-3、sin0tiz(1-cosfl)3、sini?+5(1-cosS)cos5+u?(1-cos&)其中I是3x3的單位矩陣,由是叉乘中的反對(duì)稱矩陣r:0-嗎啊娟明0公式證明假設(shè)在坐標(biāo)系(x,y,z)中,向量v=ax+by+cz,v繞z

3、軸逆時(shí)針旋轉(zhuǎn)。角后得到新的向量v,根據(jù)2維(x,y)面上的旋轉(zhuǎn)公式可得:=cosflx+sill0yi三一sin0*4coos&y*推出:-cos3弟t-W-sin06x)-e.已知:vIv-zz=v=t(x+iy.zxv=c(Zxx)+exy)+七xz)=ayf將上式帶入的公式:V-8M(V工口十也將反替換掉,可得:v=v-sin8zXV十(cos11v1v-z1z)將上式中的叉乘表示為反對(duì)稱矩陣得:另外:I(v(v=一Xbyzx(fly-hx=zx(zx(jx4-6y+czl)=A2v,最終可以推出:yjJy-sinSr*Jv*(1-cosfl)V上式即為羅德里格旋轉(zhuǎn)公式。4.求旋轉(zhuǎn)矩陣根

4、據(jù)旋轉(zhuǎn)前后的兩個(gè)向量值,使用上面的方法,先求出旋轉(zhuǎn)角度和旋轉(zhuǎn)軸,然后用羅德里格旋轉(zhuǎn)公式即可求出對(duì)應(yīng)的旋轉(zhuǎn)矩陣。C#的實(shí)現(xiàn)代碼如下:7voidCalculation(doublevectorBefore,doublevectorAfter)(doublerotationAxis;doublerotationAngle;double,rotationMatrix;rotationAxis=CrossProduct(vectorBefore,vectorAfter);rotationAngle=Math.Acos(DotProduct(vectorBefore,vectorAfter)/Normal

5、ize(vectorBefore)/Normalize(vectorAfter);rotationMatrix=RotationMatrix(rotationAngle,rotationAxis);doubleCrossProduct(doublea,doubleb)doublec=c0=a1*bc1=a2*bc2=a0*breturnc;3;2-a2*b10-a0*b21-a1*b0newdoubledoubleDotProduct(doublea,doubleb)doubleresult;result=a0*b0+a1*b1+a2*b2;returnresult;doubleNormali

6、ze(doublev)doubleresult;result=Math.Sqrt(v0*v0+v1*v1+vreturnresult;double,RotationMatrix(doubleangle,doubleu)2*v2);doublenorm=Normalize(u);double,rotatinMatrix=newdouble3,3;u0=u0/norm;u1=u1/norm;u2=u2/norm;rotatinMatrixrotatinMatrixrotatinMatrixrotatinMatrixrotatinMatrixrotatinMatrixrotatinMatrixrot

7、atinMatrixrotatinMatrix0,0=Math.Cos(angle)+u0,0=u0*u1*(0,0=u1*Math.Sin(angle)+u0,0=u2*Math.Sin(angle)+u0,0=Math.Cos(angle)+u1*u0,0=-u0*Math.Sin(angle)+u0,0=-u1*Math.Sin(angle)+u0,0=u0*Math.Sin(angle)+u0,0=Math.Cos(angle)+u2*u0*u0*(1-Math.Cos(angle);1-Math.Cos(angle)-u2*Math.Sin(angle);0*u2*(1-Math.Cos(angle);0*u1*(1-Math.Cos(angle);1*(1-Math.Cos(ang

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論