600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 通给给定旋转轴向量v 旋转角度ang 计算出旋转矩阵

通给给定旋转轴向量v 旋转角度ang 计算出旋转矩阵

时间:2021-06-12 07:01:44

相关推荐

通给给定旋转轴向量v 旋转角度ang 计算出旋转矩阵

chai3d中通过计算旋转轴和角度来获得旋转矩阵Matrix3

[cpp]view plaincopyinlineboolrotateAboutLocalAxisRad(constcVector3d&a_axis, constdouble&a_angleRad) { //computelengthofaxisvector doublelength=a_axis.length(); //checklengthofaxisvector if(length<C_TINY) { //rotationmatrixcouldnotbecomputedbecauseaxisvectorisnotdefined return(false); } //normalizeaxisvector doublef=1.0/length; doublex=f*a_axis(0); doubley=f*a_axis(1); doublez=f*a_axis(2); //computerotationmatrix doublec=::cos(a_angleRad); doubles=::sin(a_angleRad); doublev=1-c; cMatrix3dm; m(0,0)=x*x*v+c;m(0,1)=x*y*v-z*s;m(0,2)=x*z*v+y*s; m(1,0)=x*y*v+z*s;m(1,1)=y*y*v+c;m(1,2)=y*z*v-x*s; m(2,0)=x*z*v-y*s;m(2,1)=y*z*v+x*s;m(2,2)=z*z*v+c; (*this)=(*this)*m; //returnsuccess return(true); }

上面的函数中的绕任意轴旋转获得的旋转矩阵的算法实现思路如下:

根据Goldman给出的公式进行计算,这个公式有点复杂:

具体推导过程可以参考:

/lovedday/archive//01/12/41031.html

/cg_ghost/archive//04/27/2473347.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。