计算几何之向量旋转

计算几何之向量旋转

ID:31328247

大小:82.50 KB

页数:3页

时间:2019-01-08

计算几何之向量旋转_第1页
计算几何之向量旋转_第2页
计算几何之向量旋转_第3页
资源描述:

《计算几何之向量旋转》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、计算几何之向量旋转一、二维向量旋转1.绕原点O(0,0)旋转对于一个向量OP0(x0,y0),我们如何得知其绕原点O,沿逆时针方向旋转θ后的向量OP1(x1,y1)呢?我们采取参数方程进行推导。设向量OP的长度为r,其辐角为φ,则其可表示为OP(r*cos(φ),r*sin(φ)),这样其旋转θ后的向量就可表示为OP1(r*cos(φ+θ),r*sin(φ+θ))由三角函数的合角公式即可得到OP1(x0*cos(θ)-y0*sin(θ),x0*sin(θ)+y0*cos(θ))。得到旋转矩阵:2.绕任意点O(xx,y

2、y)旋转,可以进行移动变换即可二、三维向量的旋转三维向量的旋转必须首先确定转动轴。那么首先来看三种特殊情况:绕x轴旋转绕y轴旋转绕z轴旋转现在,我们来看看如何推导向量绕任意轴向量OS(x,y,z)旋转的矩阵吧。为此,我们首先将向量OS通过旋转与x轴重合。分为两步:首先将向量OS绕x轴旋转,直到向量OS处于xOz平面上;再将向量OS绕y轴旋转,直到向量OS与x轴重合。接下来,绕向量OS的旋转就变为了绕x轴的旋转,设旋转角度为θ,则对应的矩阵如下所示:最后,需要把向量OS转回原来的位置,这只需要把前面的角度取相反数即可,

3、可以立刻写出矩阵,如下所示:由于矩阵乘法满足结合律,现在,让我们顺次将这些矩阵相乘,最终得到向量绕任意轴OS(x,y,z)旋转的矩阵,如下所示:R'=R1*R2*R3*R4*R5=看上去很复杂吧?令x*x+y*y+z*z=1,则所以,我们要构造旋转矩阵时,注意使x*x+y*y+z*z=1//mat[][]旋转矩阵a旋转角度x,y,z旋转轴voidRM(doublex,doubley,doublez,doublea,doublemat[3][3]){doublec=cos(a),s=sin(a);mat[0][0]=x

4、*x+(1-x*x)*c;mat[1][1]=y*y+(1-y*y)*c;mat[2][2]=z*z+(1-z*z)*c;mat[0][1]=x*y*(1-c)-z*s;mat[1][2]=y*z*(1-c)-x*s;mat[2][0]=z*x*(1-c)-y*s;mat[0][2]=x*z*(1-c)+y*s;mat[1][0]=x*y*(1-c)+z*s;mat[2][1]=y*z*(1-c)+x*s;}调用doublelen=sqrt(x*x+y*y+z*z);doublemat[3][3];RM(x/len,

5、y/len,z/len,a,mat);doubleans[3];for(inti=0;i<3;i++){ans[i]=0;for(intj=0;j<3;j++){ans[i]+=p[j]*mat[i][j];}}OJ练习HDU1700HDU2898

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。