关于矩阵绕任意轴旋转的问题
c++吧
全部回复
仅看楼主
level 2
liu896285864 楼主
右手坐标系下,矩阵绕任意轴旋转总是出错,求大神指教原因
代码如下:
//绕指定轴(起点(0,0,0),终点(x,y,z))旋转theta角的矩阵R
void matR(float R[4][4],float theta,float x,float y,float z)
{
int c = cosf(theta), s = sinf(theta);
R[0][0] = x*x*(1 - c) + c;
R[0][1] = x*y*(1 - c) - z*s;
R[0][2] = x*z*(1 - c) + y*s;
R[1][0] = x*y*(1 - c) + z*s;
R[1][1] = y*y*(1 - c) + c;
R[1][2] = y*z*(1 - c) - x*s;
R[2][0] = x*z*(1 - c) - y*s;
R[2][1] = y*z*(1 - c) + x*s;
R[2][2] = z*z*(1 - c) + c;
}
2015年11月23日 14点11分 1
1