旋转矩阵
在三维空间,有时需要计算一般位置的三维旋转矩阵。假设旋转轴的方向是 (a,b,c) ,旋转轴经过 (x,y,z) 点,反时针旋转角度为 θ ,则用齐次坐标表示的旋转矩阵是这样的:
直接用 LATEX 代码无法完整显示:
⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜a2+(b2+c2)cosθa2+b2+c2csinθa2+b2+c2√−ab(cosθ−1)a2+b2+c2−ac(cosθ−1)a2+b2+c2−bsinθa2+b2+c2√0−ab(cosθ−1)a2+b2+c2−csin(θ)a2+b2+c2√b2+(a2+c2)cos(θ)a2+b2+c2asinθa2+b2+c2√−bc(cosθ−1)a2+b2+c20bsinθa2+b2+c2√−ac(cosθ−1)a2+b2+c2−bc(cosθ−1)a2+b2+c2−asinθa2+b2+c2√c2+(a2+b2)cosθa2+b2+c202sinθ2((a2+b2+c2)(cy−bz)cosθ2+a2+b2+c2√(xb2−ayb+c(cx−az))sinθ2)(a2+b2+c2)3/22sinθ2((a2+b2+c2)(az−cx)cosθ2+a2+b2+c2√(ya2−bxa+c(cy−bz))sinθ2)(a2+b2+c2)3/22sinθ2((−a2−b2−c2)(ay−bx)cosθ2+a2+b2+c2√((a2+b2)z−c(ax+by))sinθ2)(a2+b2+c2)3/21⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
图片显示:
变换形式,直接用 LATEX 代码无法完整显示:
⎡⎣⎢⎢⎢⎢⎢a2+(b2+c2)cosθab(1−cosθ)+ca2+b2+c2−−−−−−−−−−√sinθac(1−cosθ)−ba2+b2+c2−−−−−−−−−−√sinθ0ab(1−cosθ)−ca2+b2+c2−−−−−−−−−−√sinθb2+(a2+c2)cosθbc(1−cosθ)+aa2+b2+c2−−−−−−−−−−√sinθ0ac(1−cosθ)+ba2+b2+c2−−−−−−−−−−√sinθbc(1−cosθ)−aa2+b2+c2−−−−−−−−−−√sinθc2+(a2+b2)cosθ0
((b2+c2)x−a(by+cz))(1−cosθ)+(cy−bz)a2+b2+c2−−−−−−−−−−√sinθ((a2+c2)y−b(ax+cz))(1−cosθ)+(az−cx)a2+b2+c2−−−−−−−−−−√sinθ(c(ax+by)−(a2+b2)z)(1−cosθ)+(bx−ay)a2+b2+c2−−−−−−−−−−√sinθa2+b2+c2⎤⎦⎥⎥⎥⎥⎥×1a2+b2+c2
图片换行显示 4×4 矩阵之一:
图片换行显示 4×4 矩阵之二: